public void onRequest(HttpExchange exchange) {
            try {
                StubConnection conn = new StubConnection(StubCM.this, exchange);
                fireReceived(conn);
                lock.lock();
                try {
                    list.add(conn);
                    all.add(conn);
                    waitForResponseAsync(conn);
                    notEmpty.signalAll();
                } finally {
                    lock.unlock();
                }
            } catch (Throwable thr) {
                LOG.log(Level.WARNING, "Uncaught throwable", thr);
            }
        }