docs: public long readLong(final int offset) throws IOException {
          final int bytesToRead = Math.max(0, offset + 8 - used);
          if (bytesToRead > 0) {
              readMore(bytesToRead);
          }
          return ((buf[offset] & 0xffL) << 56) //
                  | ((buf[offset + 1] & 0xffL) << 48) //
                  | ((buf[offset + 2] & 0xffL) << 40) //
                  | ((buf[offset + 3] & 0xffL) << 32) //
                  | ((buf[offset + 4] & 0xffL) << 24) //
                  | ((buf[offset + 5] & 0xffL) << 16) //
                  | ((buf[offset + 6] & 0xffL) << 8) //
                  | (buf[offset + 7] & 0xffL);
      }