partial         void CopyExtraPropertiesToClone(Project clone, bool includeLocalProperties);
 public Project Clone(bool includeLocalProperties)
 {
     var c = new Project
             {
                 AutoNumberRequirements = AutoNumberRequirements,
                 AutoNumberScripts = AutoNumberScripts,
                 Description = Description,
                 EstimatedEndDate = EstimatedEndDate,
                 Id = Id,
                 Independent = Independent,
                 ManagerId = ManagerId,
                 ManagerUserName = ManagerUserName,
                 Name = Name,
                 OrderNumber = OrderNumber,
                 OrganisationId = OrganisationId,
                 OrganisationName = OrganisationName,
                 ProjectCategory = ProjectCategory,
                 ProjectCategoryId = ProjectCategoryId,
                 ProjectCategoryName = ProjectCategoryName,
                 RequirementNumberReadOnly = RequirementNumberReadOnly,
                 ScriptNumberReadOnly = ScriptNumberReadOnly,
                 Slug = Slug,
                 StartDate = StartDate,
                 TimeTrackingConfiguration = TimeTrackingConfiguration,
                 Widgets = Widgets,
                 Components = Components.Select(x=>x.Clone(includeLocalProperties)).ToList(),
                 ExecutionPackages = ExecutionPackages.Select(x=>x.Clone(includeLocalProperties)).ToList(),
                 ExternalSystemLinks = ExternalSystemLinks.Select(x=>x.Clone(includeLocalProperties)).ToList(),
                 IncidentResolutions = IncidentResolutions.Select(x=>x.Clone(includeLocalProperties)).ToList(),
                 IncidentStatuses = IncidentStatuses.Select(x=>x.Clone(includeLocalProperties)).ToList(),
                 IncidentTypes = IncidentTypes.Select(x=>x.Clone(includeLocalProperties)).ToList(),
                 Priorities = Priorities.Select(x=>x.Clone(includeLocalProperties)).ToList(),
                 RequirementDifficulties = RequirementDifficulties.Select(x=>x.Clone(includeLocalProperties)).ToList(),
                 RequirementPackages = RequirementPackages.Select(x=>x.Clone(includeLocalProperties)).ToList(),
                 RequirementStatuses = RequirementStatuses.Select(x=>x.Clone(includeLocalProperties)).ToList(),
                 RequirementTypes = RequirementTypes.Select(x=>x.Clone(includeLocalProperties)).ToList(),
                 ScriptPackages = ScriptPackages.Select(x=>x.Clone(includeLocalProperties)).ToList(),
                 Statuses = Statuses.Select(x=>x.Clone(includeLocalProperties)).ToList(),
                 TestTypes = TestTypes.Select(x=>x.Clone(includeLocalProperties)).ToList(),
                 Versions = Versions.Select(x=>x.Clone(includeLocalProperties)).ToList(),
             };
     CopyExtraPropertiesToClone(c, includeLocalProperties);
     return c;
 }