internal SLCacheField Clone()
        {
            var cf = new SLCacheField();

            cf.Name                = Name;
            cf.Caption             = Caption;
            cf.PropertyName        = PropertyName;
            cf.ServerField         = ServerField;
            cf.UniqueList          = UniqueList;
            cf.NumberFormatId      = NumberFormatId;
            cf.Formula             = Formula;
            cf.SqlType             = SqlType;
            cf.Hierarchy           = Hierarchy;
            cf.Level               = Level;
            cf.DatabaseField       = DatabaseField;
            cf.MappingCount        = MappingCount;
            cf.MemberPropertyField = MemberPropertyField;

            cf.HasSharedItems = HasSharedItems;
            cf.SharedItems    = SharedItems.Clone();

            cf.HasFieldGroup = HasFieldGroup;
            cf.FieldGroup    = FieldGroup.Clone();

            cf.MemberPropertiesMaps = new List <int>();
            foreach (var i in MemberPropertiesMaps)
            {
                cf.MemberPropertiesMaps.Add(i);
            }

            return(cf);
        }