public OdcmProperty Clone(string name) { return(new OdcmProperty(name ?? Name?.Clone() as string) { ContainsTarget = ContainsTarget, IsLink = IsLink, IsRequired = IsRequired, IsCollection = IsCollection, IsNullable = IsNullable, DefaultValue = DefaultValue?.Clone() as string, Class = Class, Description = Description?.Clone() as string, LongDescription = LongDescription?.Clone() as string, ParentPropertyType = ParentPropertyType, Projection = Projection?.Clone() as OdcmProjection, ReadOnly = ReadOnly, }); }