public S3MessagePayload.S3BatchDeleteObjects deserializeRequest(RetainingAsyncWritableChannel channel)
      throws RestServiceException {
    try {
      ByteBuf byteBuffer = channel.consumeContentAsByteBuf();
      byte[] byteArray = new byte[byteBuffer.readableBytes()];
      byteBuffer.readBytes(byteArray);
      return new XmlMapper().readValue(byteArray, S3MessagePayload.S3BatchDeleteObjects.class);
    } catch (Exception e) {
      logger.trace("s3batchdelete failed to deserialize request");
      throw new RestServiceException("failed to deserialize", e, RestServiceErrorCode.BadRequest);
    }
  }
Deserialize the request body into an S3BatchDeleteObjects.
ambry-frontend/src/main/java/com/github/ambry/frontend/s3/S3BatchDeleteHandler.java