Log.debug(e);
if (Log.isDebugEnabled()) { Log.debug("uri="+_uri); Log.debug("fields="+_requestFields); Log.debug(e); }
    public void handle() throws IOException    {        // Loop while more in buffer        boolean more_in_buffer =true; // assume true until proven otherwise        while (more_in_buffer && _endp.isOpen())        {            _idle=false;            try            {                __currentConnection.set(this);                                Continuation continuation = _request.getContinuation();                if (continuation != null && continuation.isPending())                {                    Log.debug("resume continuation {}",continuation);                    if (_request.getMethod()==null)                        throw new IllegalStateException();                    handlerRequest();                }                else                {                    // If we are not ended then parse available                    if (!_parser.isState(HttpParser.STATE_END))                         _parser.parseAvailable();                                        // Do we have more writting to do?                    if (_generator.isState(HttpGenerator.STATE_FLUSHING) || _generator.isState(HttpGenerator.STATE_CONTENT))                         _generator.flushBuffers();                }            }            catch (HttpException e)            {                Log.debug(e);                _generator.sendError(e.getStatus(), e.getReason(), e.toString(), true);                throw e;            }            finally            {                __currentConnection.set(null);                                Buffer header = _parser.getHeaderBuffer();                                if (_parser.isState(HttpParser.STATE_END) && _generator.isState(HttpGenerator.STATE_END))                {                    _idle=true;                                        _expectingContinues = false; // TODO do something with this!                    _parser.reset(!more_in_buffer); // TODO maybe only release when low on resources                    _requestFields.clear();                    _request.recycle();                                        _generator.reset(!more_in_buffer); // TODO maybe only release when low on resources                    _responseFields.clear();                    _response.recycle();                }                more_in_buffer = header!=null && (header.length()>0);                                Continuation continuation = _request.getContinuation();                if (continuation != null && continuation.isPending())                {                    break;                }            }        }    }