_generator.completeHeader(_responseFields, HttpGenerator.LAST);
    private void doHandler() throws IOException    {        if (_server != null)        {            boolean retry = false;            boolean error = false;            try            {                _request.setRequestURI(_uri.getRawPath());                _request.setQueryString(_uri.getRawQuery());                String path_info=URIUtil.canonicalPath(_uri.getPath());                int semi = path_info.indexOf(';');                if (semi>0)                    path_info=path_info.substring(0,semi);                _request.setPathInfo(path_info);                if (_out!=null)                    _out.reopen();                                _connector.customize(_endp, _request);                                _server.handle(this);            }            catch (RetryRequest r)            {                Log.ignore(r);                retry = true;            }            catch (EofException e)            {                Log.ignore(e);                error=true;            }            catch (ServletException e)            {                Log.warn(e);                _generator.sendError(500, null, null, true);            }            finally            {                if (!retry)                {                    if (_request.getContinuation()!=null && _request.getContinuation().isPending())                    {                        Log.debug("continuation still pending {}");                        _request.getContinuation().suspend(0);                    }                                        if (!error)                     {                        _response.complete();                                                if (!_generator.isComplete())                        {                            _generator.completeHeader(_responseFields, HttpGenerator.LAST);                            _generator.complete();                        }                    }                }            }        }    }