code: public void merge(Metadata other) {
      if (other.isEmpty()) {
        return;
      }
      int remaining = cap() - len();
      if (isEmpty() || remaining < other.len()) {
        expand(len() + other.len());
      }
      System.arraycopy(other.namesAndValues, 0, namesAndValues, len(), other.len());
      size += other.size;
    }
docs: Perform a simple merge of two sets of metadata.
  
  <p>This is a purely additive operation, because a single key can be associated with multiple
  values.