code: public TrainingSpecification withSupportedHyperParameters(HyperParameterSpecification... supportedHyperParameters) {
          if (this.supportedHyperParameters == null) {
              setSupportedHyperParameters(new java.util.ArrayList<HyperParameterSpecification>(supportedHyperParameters.length));
          }
          for (HyperParameterSpecification ele : supportedHyperParameters) {
              this.supportedHyperParameters.add(ele);
          }
          return this;
      }
docs: <p>
  A list of the <code>HyperParameterSpecification</code> objects, that define the supported hyperparameters. This
  is required if the algorithm supports automatic model tuning.&gt;
  </p>
  <p>
  <b>NOTE:</b> This method appends the values to the existing list (if any). Use
  {@link #setSupportedHyperParameters(java.util.Collection)} or
  {@link #withSupportedHyperParameters(java.util.Collection)} if you want to override the existing values.
  </p>
  
  @param supportedHyperParameters
  A list of the <code>HyperParameterSpecification</code> objects, that define the supported hyperparameters.
  This is required if the algorithm supports automatic model tuning.&gt;
  @return Returns a reference to this object so that method calls can be chained together.