if (tt != null && !bType.isTrackLayoutValid (tt.getTrackConfiguration())) return MoveStatus.moveFailed("Illegal track layout");
if (tt != null) { if (!bType.isTrackLayoutValid (tt.getTrackConfiguration())) return MoveStatus.moveFailed("Illegal track layout");  if (!bType.canBuildHere(w, point)) return MoveStatus.moveFailed("Cannot build on this " + "terrain"); }
    public MoveStatus tryUndoMove(World w, FreerailsPrincipal p) {	if (!w.getTile(point).getOwner().equals(p))	    return MoveStatus.moveFailed("You don't own this tile");	BuildingTile bTile = w.getTile(point).getBuildingTile();	if (((newTile == null) && (bTile != null)) ||		((newTile != null) && !newTile.equals(bTile))) {	    return MoveStatus.MOVE_FAILED;	}		if (oldTile != null) {	    TrackTile tt = w.getTile(point).getTrackTile();	    BuildingType bType = (BuildingType) w.get(KEY.BUILDING_TYPES,		    oldTile.getType(), Player.AUTHORITATIVE);	    if (tt != null && !bType.isTrackLayoutValid		    (tt.getTrackConfiguration()))		return MoveStatus.moveFailed("Illegal track layout");	}	return MoveStatus.MOVE_OK;    }