while (_content.length()==0&&filled!=0&&!_parser.inEndState())
while(_content.length() == 0 && filled!=0 && !_parser.isState(Ajp13Parser.STATE_END))
        private boolean blockForContent() throws IOException        {            if (_content.length()>0)                return true;            if (_parser.inEndState())                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.inEndState())                {                    // 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.inEndState())                {                    // 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;        }