public synchronized MoveStatus confirmMove(Move m, ConnectionToServer c) {
      move = m;
      executer.processMove(m, c);

      while (!confirmed) {
        try {
          wait();
        } catch (InterruptedException e) {
          // ignore
        }
      }

      moveChainFork.remove(this);

      return result;
    }
 public MoveConfirmer(SourcedMoveReceiver me, MoveChainFork mcf) {
   executer = me;
   moveChainFork = mcf;
   mcf.add(this);
 }