partial         void CopyExtraPropertiesToClone(IValue clone, bool includeLocalProperties);
 public IValue Clone(bool includeLocalProperties)
 {
     var c = new IValue
             {
                 Icon = Icon,
                 Identifier = Identifier,
                 Parent = Parent,
                 Text = Text,
                 Children = Children.Select(x=>x.Clone(includeLocalProperties)).ToList(),
             };
     CopyExtraPropertiesToClone(c, includeLocalProperties);
     return c;
 }