partial         void CopyExtraPropertiesToClone(ProjectCategory clone, bool includeLocalProperties);
 public ProjectCategory Clone(bool includeLocalProperties)
 {
     var c = new ProjectCategory
             {
                 HasChildren = HasChildren,
                 HasParent = HasParent,
                 HasProjects = HasProjects,
                 Id = Id,
                 Name = Name,
                 OrderNumber = OrderNumber,
                 Organisation = Organisation,
                 OrganisationId = OrganisationId,
                 OrganisationName = OrganisationName,
                 Parent = Parent,
                 ParentId = ParentId,
                 ParentName = ParentName,
                 Children = Children.Select(x=>x.Clone(includeLocalProperties)).ToList(),
                 Projects = Projects.Select(x=>x.Clone(includeLocalProperties)).ToList(),
             };
     CopyExtraPropertiesToClone(c, includeLocalProperties);
     return c;
 }