code: private StateConnection accept()
    {
      try {
        _state = StateHttpEnum.READ;
        
        //_requestHttp = _connHttp.newRequestHttp();
  
        _invocation = (InvocationBaratine) _requestHttp.parseInvocation();
        
        if (_invocation == null) {
          _state = StateHttpEnum.CLOSE;
          
          
          _state = _state.toIdle();
          
          if (connHttp().request() == this) {
            connHttp().requestComplete(this, false);
            //connHttp().protocol().requestFree(this);
            return StateConnection.CLOSE;
          }
          else {
            //connHttp().protocol().requestFree(this);
            return StateConnection.READ;
          }
        }
        
        // sequence used for write ordering 
         //_sequenceRead = connHttp().nextSequenceRead();
        
        if (_state.isBodyComplete()) {
          bodyComplete();
        }
        else if (! requestHttp().isUpgrade()) {
          _requestHttp.readBodyChunk();
        }
        
        _invocation.service(this);
        
        //ServiceRef.flushOutboxAndExecuteLast();
        ServiceRef.flushOutbox();
        
        if (! _state.isBodyComplete()) {
          return StateConnection.READ;
        }
        else if (_state == StateHttpEnum.UPGRADE) {
          return StateConnection.READ;
        }
        else if (_requestHttp.isKeepalive()) {
          return StateConnection.READ;
        }
        else {
          return StateConnection.CLOSE_READ_A;
        }
      } catch (Throwable e) {
        log.warning(e.toString());
        log.log(Level.FINER, e.toString(), e);
        
        //e.printStackTrace();
        
        //toClose();
        
        return StateConnection.CLOSE;
      }
    }
docs: /*
  @Override
  public void next(ConnectionProtocol next)
  {
  RequestHttpState nextBar = (RequestHttpState) next;
  _next = nextBar;
  
  if (nextBar != null) {
  nextBar._prev = this;
  }
  }