@VisibleForTesting
  public int enumeratorIdToHashId(int enumeratorId) {
    if (enumeratorId == NULL_ID) {
      return NULL_ID;
    }

    int logHeaderSize = AppendOnlyLogOverMMappedFile.HeaderLayout.HEADER_SIZE;
    long offset = (((long)enumeratorId - 1) << 2) + logHeaderSize;

    int pageNo = (int)(offset / pageSize);
    if (pageNo == 0) {
      return (int)((offset - logHeaderSize) / HASH_RECORD_LENGTH + 1);
    }
    else {
      int offsetOnPage = (int)(offset % pageSize);
      int recordsOnPage = pageSize / HASH_RECORD_LENGTH;
      int recordsOnFirstPage = (pageSize - logHeaderSize) / HASH_RECORD_LENGTH;
      return recordsOnPage * (pageNo - 1)
             + recordsOnFirstPage
             + offsetOnPage / HASH_RECORD_LENGTH
             + 1;
    }
  }
@VisibleForTesting
  public int enumeratorIdToHashId(int enumeratorId)