if (part != null) {
edu.cmu.cs.stage3.math.Vector3 posToParent =
((Model) part).getPosition((edu.cmu.cs.stage3.alice.core.ReferenceFrame) part.getParent());
edu.cmu.cs.stage3.math.Matrix33 orientToParent =
((Model) part).getOrientationAsAxes((edu.cmu.cs.stage3.alice.core.ReferenceFrame) part.getParent());
part.replaceWith(model);
if (part instanceof Model) {
model.vehicle.set(((Model) part).vehicle.get());
((Model) part).vehicle.set(null);
if (posToParent != null)
((Model) model).setPositionRightNow(posToParent, (edu.cmu.cs.stage3.alice.core.ReferenceFrame) model.getParent());