code: @SuppressWarnings("unchecked")
      public KeyValues addAll(final KeyValues keyValues) {
          Validate.notNull(keyValues, "keyValues cannot be null");
          
          final KeyValues res = new KeyValues();
          res.values.putAll(this.values);
          res.values.putAll(keyValues.values);
          return res;
      }
docs: Adds all values from the given instance. Supports multi-values for one key (if there has already been added
  some value with this key, additional value is added instead of rewriting). Please note this method
  creates new instance containing all existing values plus the new ones rather than modifying this instance.
  @param keyValues values to be added no(cannot be {@code null})
  @return an exact copy of this instance containing all existing values plus the new ones