docs: static TagMapImpl deserializeBinary(byte[] bytes) throws TagContextDeserializationException {
      try {
        if (bytes.length == 0) {
          // Does not allow empty byte array.
          throw new TagContextDeserializationException("Input byte[] can not be empty.");
        }
  
        ByteBuffer buffer = ByteBuffer.wrap(bytes).asReadOnlyBuffer();
        int versionId = buffer.get();
        if (versionId > VERSION_ID || versionId < 0) {
          throw new TagContextDeserializationException(
              "Wrong Version ID: " + versionId + ". Currently supports version up to: " + VERSION_ID);
        }
        return new TagMapImpl(parseTags(buffer));
      } catch (BufferUnderflowException exn) {
        throw new TagContextDeserializationException(exn.toString()); // byte array format error.
      }
    }