private String dumpContentAroundId(long aroundRecordId,
                                     int regionWidth,
                                     int maxRecordSizeToDump) throws IOException {
    StringBuilder sb = new StringBuilder("Log content around id: " + aroundRecordId + " +/- " + regionWidth +
                                         " (first uncommitted offset: " + firstUnCommittedOffset() +
                                         ", first unallocated: " + firstUnAllocatedOffset() + ")\n");
    forEachRecord((recordId, buffer) -> {
      long recordOffset = recordIdToOffset(recordId);
      int recordSize = buffer.remaining();

      long nextRecordId = recordOffsetToId(nextRecordOffset(recordOffset, recordSize));

      //MAYBE RC: only use insideQuestionableRecord? Seems like records around are of little use
      boolean insideQuestionableRecord = (recordId <= aroundRecordId && aroundRecordId <= nextRecordId);
      boolean insideNeighbourRegion = (aroundRecordId - regionWidth <= recordId
                                       && recordId <= aroundRecordId + regionWidth);

      if (insideQuestionableRecord || insideNeighbourRegion) {
        String bufferAsHex = recordSize > maxRecordSizeToDump ?
                             IOUtil.toHexString(buffer.limit(buffer.position() + maxRecordSizeToDump)) + " ... " :
                             IOUtil.toHexString(buffer);
        sb.append(insideQuestionableRecord ? "*" : "")
          .append("[id: ").append(recordId).append(']')
          .append("[offset: ").append(recordOffset).append(']')
          .append("[len: ").append(recordSize).append(']')
          .append("[hex: ").append(bufferAsHex).append("]\n");
      }
      return recordId <= aroundRecordId + regionWidth;
    });
    return sb.toString();
  }
private String dumpContentAroundId(long aroundRecordId,
                                     int regionWidth,
                                     int maxRecordSizeToDump)