public abstract void Remove(DrawingElement d);
public abstract void Add(DrawingElement d);
public override void Remove(DrawingElement c) { throw new Exception("Cannot remove from a PrimitiveElement"); }
public override void Add(DrawingElement c) { throw new Exception("Cannot add to a PrimitiveElement"); }
public override void Remove(DrawingElement d) { Elements.Remove(d); }
public override void Add(DrawingElement d) { Elements.Add(d); }