public void processMove(Move move) { processMove(move, move.getPrincipal());
void processMove(Move move, FreerailsPrincipal p) {  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); }  forwardMove(move, ms);
    public void processMove(Move move) {        processMove(move, move.getPrincipal());    }