class Metadata {

  @Nullable
  byte[][] serialize() {
    if (len() == cap()) {
      return namesAndValues;
    }
    byte[][] serialized = new byte[len()][];
    System.arraycopy(namesAndValues, 0, serialized, 0, len());
    return serialized;
  }

    Metadata(byte[]... binaryValues);
    Metadata(int usedNames, byte[]... binaryValues);
  public  Metadata();

}