@Override
    public long getLong(long index) {
      checkIndexInBounds(index);
      for (int i = 0; i < ints.length; i++) {
        Ints slab = ints[i];
        long size = slab.size();
        if (index < slab.size()) {
          return slab.getInt(index) + (((long) i) << BITS);
        }
        index -= size;
      }
      throw new IndexOutOfBoundsException("index: " + index + " size: " + size());
    }
An array longs that uses 4 bytes to represent each long by using a list of {@link Ints} arrays. Only suitable for
values less than ~20 billion (i.e. OSM node IDs)
planetiler-core/src/main/java/com/onthegomap/planetiler/collection/AppendStore.java