code: private void nextChunk() throws IOException {
          if (state == CHUNK_INVALID) {
              throw new MalformedChunkCodingException("Corrupt data stream");
          }
          try {
              chunkSize = getChunkSize();
              if (chunkSize < 0L) {
                  throw new MalformedChunkCodingException("Negative chunk size");
              }
              state = CHUNK_DATA;
              pos = 0L;
              if (chunkSize == 0L) {
                  eof = true;
                  parseTrailerHeaders();
              }
          } catch (MalformedChunkCodingException ex) {
              state = CHUNK_INVALID;
              throw ex;
          }
      }
docs: Read the next chunk.
  @throws IOException in case of an I/O error