anchor.diff:  Requesting next pair with `readPair()` returns the following series value or a `null` once the series is completely
   read. The pair is a simple placeholder object with `getTimestamp()` and `getDoubleValue()` or `getLongValue()`.
   
  +For Java 8 streams support, use the following syntax (available only in 2.x format):
  +
  +[source, java]
  +----
  +----
  +
  +== Performance
  +
   == Internals
  +
  +=== Differences to the original paper
  +
  +* Maximum number of leadingZeros is stored with 6 bits to allow up to 63 leading zeros, which are necessary when
  +storing long values.
  +* Timestamp delta-of-delta are stored by first turning them with ZigZag encoding to positive integers and then
  +reduced by one to fit in the necessary bits. In the decoding phase all the values are incremented by one to fetch the
  + original value.
  +* The compressed blocks are created with a 27 bit delta header (unlike in the original paper, which uses a 14 bit delta
  +  header). This allows to use up to one day block size using millisecond precision.
   
   === Data structure
   
   Values must be inserted in the increasing time order, out-of-order insertions are not supported.
   
   The included ByteBufferBitInput and ByteBufferBitOutput classes use a big endian order for the data.
  -
  -=== Block size
  -
  -The compressed blocks are created with a 27 bit header (unlike in the original paper, which uses a 14 bit delta header). This allows to
  -use up to one day block size using millisecond precision.
   
   == Contributing
   
  
positive.code: In comparison to the original paper, this implementation allows using both integer values (`long`) as well as
  floating point values (`double`), both 64 bit in length.
  
  == Usage
  
  The included tests are a good source for examples.
  
negative.code: [source, xml]
  ----
      <dependency>
          <groupId>fi.iki.yak</groupId>
          <artifactId>compression-gorilla</artifactId>
      </dependency>
  ----
  
  You can find latest version from the maven logo link above.
  
  === Compressing
  
  To compress in the older 1.x format, use class ``Compressor``. For 2.x, use ``GorillaCompressor`` (recommended).
  ``ByteBufferLongOutput`` is also recommended compared to ``ByteBufferBitOutput`` because of performance.
  
  [source, java]
  ----
  long now = LocalDateTime.now(ZoneOffset.UTC).truncatedTo(ChronoUnit.HOURS)
          .toInstant(ZoneOffset.UTC).toEpochMilli();
  
  ByteBufferLongOutput output = new ByteBufferLongOutput();
  GorillaCompressor c = new GorillaCompressor(now, output);
  ----
  
  Compression class requires a block timestamp and an implementation of `BitOutput` interface. `ByteBufferLongOutput` is an in-memory example that uses off-heap storage.
  
  [source, java]
  ----
  