code: @Override
      public void close() throws IOException {
          if (!closed) {
              try {
                  if (!eof) {
                      exhaustInputStream(this);
                  }
              } finally {
                  eof = true;
                  closed = true;
              }
          }
      }
docs: Upon close, this reads the remainder of the chunked message,
  leaving the underlying socket at a position to start reading the
  next response without scanning.
  @throws IOException If an IO problem occurs.