System.err.println("Failing TrainMove: before = " + tmm + " after: pathSinceSync = " + pathFromLastSync + ", timeOfSync = " + timeOfLastSync + " in " + Thread.currentThread().getName());
    public MoveStatus tryDoMove(World w, FreerailsPrincipal p) {	if (w.size(KEY.TRAINS, p) <= trainKey.index)	    return MoveStatus.moveFailed("Index out of bounds");	TrainModel tm = (TrainModel) w.get(KEY.TRAINS, trainKey.index, p);	if (tm == null)	    return MoveStatus.moveFailed("The train does not exist.");	if ((pathFromLastSync == null &&		    tm.getTrainMotionModel().getPathTraversedSinceLastSync() ==		    null) ||		((pathFromLastSync != null) &&		 pathFromLastSync.equals(tm.getTrainMotionModel().		    getPathTraversedSinceLastSync())))	    return MoveStatus.MOVE_OK;	return MoveStatus.MOVE_FAILED;    }