public AssignationModel(AssignationModel source)
 {
     LocalizationKey = source.LocalizationKey;
     Color           = source.Color;
     BorderColor     = source.BorderColor;
     BackgroundColor = source.BackgroundColor;
     IsNotEditable   = source.IsNotEditable;
     CanHaveChild    = source.CanHaveChild;
     Code            = source.Code;
     childrens       = new ObservableCollection <AssignationModel>();
 }
        public object Clone()
        {
            AssignationModel model = new AssignationModel(this)
            {
                IsCloned = true
            };

            foreach (AssignationModel child in Childrens)
            {
                model.Childrens.Add((AssignationModel)child.Clone());
            }
            return(model);
        }