public Vector<Move> commuteNextMove ( ) {
    final Vector<Move> moves = new Vector<Move> ( ) ;
    /*
     * Go through each square on the board and if it is blank get the words from
     * it by going though each word in the dictionary and getting the up and
     * down words from it.
     */
    for ( int i = 0 ; i < Player.board.boardHeight ; i++ ) {
      for ( int j = 0 ; j < Player.board.boardWidth ; j++ ) {
        if ( Player.board.charGrid[ i ][ j ] != Player.board.blank ) {
          for ( final Word word : this.dictionary.dictionary ( ) ) {
            this.getMovesFromWord ( word, i, j, moves, true ) ; ;
            this.getMovesFromWord ( word, i, j, moves, false ) ;
          }
        }
      }
    }
    Collections.sort ( moves, new MoveComparator ( ) ) ;
    return moves ;
  }