TrainModel newTm = new TrainModel(tm, newIterator); return new ChangeTrainDestinationMove(train.index, tm, newTm, train.principal);
TrainModel newTm = new TrainModel(oldTm, newIterator); TrainMotionModel tmm = oldTm.getTrainMotionModel(); return new ChangeTrainDestinationMove(train, oldTm, newTm, tmm);
    public static ChangeTrainDestinationMove generateMove(ReadOnlyWorld w,	    ObjectKey train, ScheduleIterator newIterator) {	TrainModel tm = (TrainModel) w.get(train.key, train.index,		train.principal);	TrainModel newTm = new TrainModel(tm, newIterator);	return new ChangeTrainDestinationMove(train.index, tm, newTm,		train.principal);    }