docs: public byte[] serialized() {
          final var nameBuffer = name.getBytes(StandardCharsets.UTF_8);
          final var typeLength = Integer.BYTES;
          final var nameLength = Integer.BYTES + nameBuffer.length;
          final var valueLength = type.fixedSize == VARIABLE_LENGTH ? Integer.BYTES + value.length : type.fixedSize;
          final var buffer = ByteBuffer.allocate(typeLength + nameLength + valueLength)
              .putInt(type.serialized)
              .putInt(nameBuffer.length);
          if (type.fixedSize == VARIABLE_LENGTH) {
              buffer.putInt(value.length);
          }
          buffer.put(nameBuffer).put(value);
          return buffer.array();
      }