private List<Pmtiles.Entry> readDir(long offset, int length) {
    try {
      var buf = getBytes(offset, length);
      if (header.internalCompression() == Pmtiles.Compression.GZIP) {
        buf = Gzip.gunzip(buf);
      }
      return Pmtiles.directoryFromBytes(buf);
    } catch (IOException e) {
      throw new UncheckedIOException(e);
    }
  }
Finds the relevant entry for a tileId in a list of entries.
<p>
If there is an exact match for tileId, return that. Else if the tileId matches an entry's tileId + runLength,
return that. Else if the preceding entry is a directory (runLength = 0), return that. Else return null.
planetiler-core/src/main/java/com/onthegomap/planetiler/pmtiles/ReadablePmtiles.java