public override void Remove(Component c)
 {
     throw new NotImplementedException();
 }
 public override void Remove(Component c)
 {
     list.Remove(c);
 }
 public abstract void Remove(Component c);
 public override void Add(Component c)
 {
     list.Add(c);
 }
 public abstract void Add(Component c);