public void RemoveResource(PositionedObject p) { if (p is Sprite) { this.RemoveSprite((Sprite)p); } else if (p is Text) { this.RemoveText((Text)p); } else { throw new ArgumentException("Not sure how to remove " + p); } }