void handleBody(InputStream payload, MessageMetadata messageMetadata, MessageInfo messageInfo)
        throws IOException, MessageFormatException {
      // Responses of same GetChunk would return in sequence so there is no need to protect these methods
      // from concurrent operations.
      if (!successfullyDeserialized) {
        BlobData blobData = MessageFormatRecord.deserializeBlob(payload);
        ByteBuffer encryptionKey = messageMetadata == null ? null : messageMetadata.getEncryptionKey();
        ByteBuf chunkBuf = blobData.content();
        this.isChunkCompressed = blobData.isCompressed();
        // We are going to send this chunkBuf later back to the router, so increase the counter here
        chunkBuf.retain();

        boolean launchedJob = maybeLaunchCryptoJob(chunkBuf, null, encryptionKey, chunkBlobId);
        if (!launchedJob) {
          if (chunkIndex == 0) {
            routerMetrics.getFirstDataChunkLatencyMs.update(System.currentTimeMillis() - submissionTimeMs);
          }
          routerMetrics.getDataChunkLatencyMs.update(System.currentTimeMillis() - initializedTimeMs);
          ByteBuf decompressedContent = decompressContent(chunkBuf);
          if (decompressedContent != null) {
            chunkIndexToBuf.put(chunkIndex, filterChunkToRange(decompressedContent));
            numChunksRetrieved.incrementAndGet();
          }
        }
        successfullyDeserialized = true;
      } else {
        // If successTarget > 1, then content reconciliation may have to be done. For now, ignore subsequent responses.
      }
    }
Handle the body of the response: Deserialize and add to the list of chunk buffers.
@param payload the body of the response.
@param messageMetadata the {@link MessageMetadata} associated with the message.
@param messageInfo the {@link MessageInfo} associated with the message.
@throws IOException if there is an IOException while deserializing the body.
@throws MessageFormatException if there is a MessageFormatException while deserializing the body.
ambry-router/src/main/java/com/github/ambry/router/GetBlobOperation.java