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