protected MoveValuePair handleTerminal(Position position, boolean maxTurn, int alpha, int beta)
     throws IllegalMoveException {
   MoveValuePair finalMove = new MoveValuePair();
   if (position.isTerminal() && position.isMate()) {
     this.terminalFound = position.isTerminal();
     finalMove.eval = (maxTurn ? BE_MATED : MATE);
   } else if (position.isTerminal() && position.isStaleMate()) finalMove.eval = 0;
   else {
     finalMove.eval = quiescence(position, alpha, beta, !maxTurn);
   }
   //        System.out.print(finalMove.eval + " ");
   return finalMove;
 }