code: @Nonnull
      public ParametersAction merge(@CheckForNull ParametersAction overrides) {
          if (overrides == null) {
              return new ParametersAction(parameters, this.safeParameters);
          }
          ParametersAction parametersAction = createUpdated(overrides.parameters);
          Set<String> safe = new TreeSet<>();
          if (parametersAction.safeParameters != null && this.safeParameters != null) {
              safe.addAll(this.safeParameters);
          }
          if (overrides.safeParameters != null) {
              safe.addAll(overrides.safeParameters);
          }
          parametersAction.safeParameters = safe;
          return parametersAction;
      }
docs: /*
  Creates a new {@link ParametersAction} that contains all the parameters in this action
  with the overrides / new values given as another {@link ParametersAction}.
  @return New {@link ParametersAction}. The result may contain null {@link ParameterValue}s