private ArrayList<AbstractBody> resendOutstandingRequests() {
        assertLocked();

        ArrayList<AbstractBody> toResend = new ArrayList<AbstractBody>();
        for (HTTPExchange exchange : exchanges) {
            toResend.add(exchange.getRequest());

            exchange.getHTTPResponse().abort();
        }

        // Clear the exchanges that we're resending.
        exchanges.clear();
        notFull.signalAll();

        return toResend;
    }