public synchronized ArrayList<String> handleGuesses(final int puzzleNumber, final ArrayList<String> r) {
        Thread t = new Thread(new Runnable() {
            public void run() {
                while (!(guesses.isEmpty())) {
                    String response;
                    String guess = guesses.remove(0);
                    response = makeGuess(guess, puzzleNumber);
                    r.add(response);
                }
            };
        });
        t.start();
        try {
            t.join();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        return r;
    }