@Override
    public boolean hasWork() {
        while (localNoResponsePendingQueue.isEmpty()
                && (processingRequest != null || localResponsePendingQueue.isEmpty())) {
            final Object obj = concurrentQueue.poll();
            if (obj == null) {
                return false;
            }
            if (obj instanceof RequestImpl) {
                final RequestMtImpl<?> msg = (RequestMtImpl<?>) obj;
                offerLocal(msg);
            } else {
                @SuppressWarnings("unchecked")
                final Queue<RequestMtImpl<?>> msgs = (Queue<RequestMtImpl<?>>) obj;
                offerLocal(msgs);
            }
        }
        return true;
    }