docs: public T decode(final BitInputStream in) throws IOException {
      Bits remainder = in.readAhead(0);
      Entry<Bits, T> entry = this.forwardIndex.floorEntry(remainder);
      while (entry == null || !remainder.startsWith(entry.getKey())) {
        remainder = in.readAhead();
        entry = this.forwardIndex.floorEntry(remainder);
      }
      in.read(entry.getKey().bitLength);
      return entry.getValue();
    }