{
        private boolean blockForContent() throws IOException        {            if (_content.length()>0)                return true;            if (_parser.isState(HttpParser.STATE_END))                 return false;                        // Handle simple end points.            if (_endp==null)            {                _parser.parseNext();            }                        // Handle blocking end points            else if (_endp.isBlocking())            {                long filled=_parser.parseNext();                                // parse until some progress is made (or IOException thrown for timeout)                while(_content.length() == 0 && filled!=0 && !_parser.isState(HttpParser.STATE_END))                {                    // Try to get more _parser._content                    filled=_parser.parseNext();                }                            }            // Handle non-blocking end point            else            {                long filled=_parser.parseNext();                boolean blocked=false;                                // parse until some progress is made (or IOException thrown for timeout)                while(_content.length() == 0 && !_parser.isState(HttpParser.STATE_END))                {                    // if fill called, but no bytes read, then block                    if (filled>0)                        blocked=false;                    else if (filled==0)                    {                        if (blocked)                            throw new InterruptedIOException("timeout");                                                blocked=true;                        _endp.blockReadable(_maxIdleTime);                     }                                        // Try to get more _parser._content                    filled=_parser.parseNext();                }            }                        return _content.length()>0;         }