public override void Remove(Component c)
 {
     Console.WriteLine("Cannot remove from a leaf");
 }
 public override void Add(Component c)
 {
     Console.WriteLine("Cannot add to a leaf");
 }
 public override void Remove(Component c)
 {
     children.Remove(c);
 }
 public override void Add(Component c)
 {
     children.Add(c);
 }
 public abstract void Remove(Component c);
 public abstract void Add(Component c);