public void Remove(object value)
 {
     if (value != null && lista != null)
     {
         lista.Remove(value);
         if (CollectionCahnged != null)
         {
             CollectionCahnged.Invoke(this, new CollectionCahngedEventArgs(CollectionOperation.Remove, value));
         }
     }
 }
 public void Add(object value)
 {
     if (value.GetType() == (Type)typeof(NotifingObject))
     {
     }
     if (value != null)
     {
         lista.Add(value);
         if (value is NotifingObject)
         {
             if (CollectionCahnged != null)
             {
                 CollectionCahnged.Invoke(this, new CollectionCahngedEventArgs(CollectionOperation.Add, value));
             }
         }
     }
 }