code: @Override
      public IHLLMetadata readMetadata(final byte[] bytes) {
          final byte versionByte = bytes[0];
          final byte parametersByte = bytes[1];
          final byte cutoffByte = bytes[2];
  
          final int typeOrdinal = SerializationUtil.typeOrdinal(versionByte);
          final int explicitCutoffValue = SerializationUtil.explicitCutoff(cutoffByte);
          final boolean explicitOff = (explicitCutoffValue == EXPLICIT_OFF);
          final boolean explicitAuto = (explicitCutoffValue == EXPLICIT_AUTO);
          final int log2ExplicitCutoff = (explicitOff || explicitAuto) ? -1/*sentinel*/ : (explicitCutoffValue - 1/*per spec*/);
  
          return new HLLMetadata(SCHEMA_VERSION,
                                      getType(typeOrdinal),
                                      SerializationUtil.registerCountLog2(parametersByte),
                                      SerializationUtil.registerWidth(parametersByte),
                                      log2ExplicitCutoff,
                                      explicitOff,
                                      explicitAuto,
                                      SerializationUtil.sparseEnabled(cutoffByte));
      }
docs: /* (non-Javadoc)
  @see net.agkn.hll.serialization.ISchemaVersion#readMetadata(byte[])