return new AddTrainMove(new Move[] {m, transactionMove, m2});
return new AddTrainMove(new Move[] {m2, m, transactionMove});
    public static AddTrainMove generateMove(ReadOnlyWorld w, int i, TrainModel	    train, long price, ImmutableSchedule s, FreerailsPrincipal p) {        Move m = new AddItemToListMove(KEY.TRAINS, i, train, p);        Move m2 = new AddItemToListMove(KEY.TRAIN_SCHEDULES,                train.getScheduleIterator().getScheduleId(), s);	GameTime now = (GameTime) w.get(ITEM.TIME, p);	AddItemTransaction t = new AddItemTransaction(now,		AddItemTransaction.ROLLING_STOCK, 0, 1, -price);        AddTransactionMove transactionMove = new AddTransactionMove(0,                t, p);	        return new AddTrainMove(new Move[] {m, transactionMove, m2});    }