public override void Remove(ModelDisplayObject displayObject) { ModelDisplayObjectBatch batch = displayObject.BatchInformation.Batch; batch.Remove(displayObject, this); //If it's an empty batch, just throw it away. if (batch.DisplayObjects.Count == 0) batches.Remove(batch); }