@Override
  public long sizeInBytes() {
    // header + blobId
    long sizeInBytes = super.sizeInBytes() + blobId.sizeInBytes();
    if (versionId >= DELETE_REQUEST_VERSION_2) {
      // deletion time
      sizeInBytes += DELETION_TIME_FIELD_SIZE_IN_BYTES;
    }
    if (versionId >= DELETE_REQUEST_VERSION_3) {
      // Force delete request flag size
      sizeInBytes += FORCE_DELETE_FLAG_SIZE;
    }
    return sizeInBytes;
  }
Constructs {@link DeleteRequest} in given version.

@param correlationId    correlationId of the delete request
@param clientId         clientId of the delete request
@param blobId           blobId of the delete request
@param deletionTimeInMs deletion time of the blob in ms
@param version          version of the {@link DeleteRequest}
@param isForceDelete    {@code true} if we should insert a Delete tombstone even if blob is missing on server.
                        Else {@code false}.
ambry-protocol/src/main/java/com/github/ambry/protocol/DeleteRequest.java