public static ChangeTrainMove generateMove(int id, FreerailsPrincipal p, TrainModel before, int newState, GameTime now) { TrainModel after = new TrainModel(before, now, newState); return new ChangeTrainMove(id, before, after, p);
public static ChangeTrainMove generateMove(int id, FreerailsPrincipal p, TrainModel before, ScheduleIterator newScheduleIterator, GameTime t) { TrainModel after = new TrainModel(before, newScheduleIterator, t); return  new ChangeTrainMove(id, before, after, p);
    public static ChangeTrainMove generateMove(int id, FreerailsPrincipal p,	    TrainModel before, int newState, GameTime now) {	TrainModel after = new TrainModel(before, now, newState);	return new ChangeTrainMove(id, before, after, p);    }