public void RemoveWheel(Wheel wheel) { if (wheel.vehicle == this) { wheel.OnRemovedFromVehicle(); Wheels.Remove(wheel); } else throw new InvalidOperationException("Can't remove a wheel from a vehicle that does not own it."); }