void processMove(Move move, FreerailsPrincipal p) { /* * if the server is submitting the move, then act on behalf of whoever * move was submitted for */ if (p.equals(Player.AUTHORITATIVE)) p = move.getPrincipal(); moveStack.add(move); if (moveStack.size() > MAX_UNDOS) { moveStack.removeFirst(); } MoveStatus ms; synchronized (world) { ms = move.doMove(world, p); } if (ms != MoveStatus.MOVE_OK) logger.log(Level.INFO, "Server rejected move because " + ms + ": " + move); forwardMove(move, ms); }