code: public TrainingSpecification withSupportedTrainingInstanceTypes(TrainingInstanceType... supportedTrainingInstanceTypes) {
          java.util.ArrayList<String> supportedTrainingInstanceTypesCopy = new java.util.ArrayList<String>(supportedTrainingInstanceTypes.length);
          for (TrainingInstanceType value : supportedTrainingInstanceTypes) {
              supportedTrainingInstanceTypesCopy.add(value.toString());
          }
          if (getSupportedTrainingInstanceTypes() == null) {
              setSupportedTrainingInstanceTypes(supportedTrainingInstanceTypesCopy);
          } else {
              getSupportedTrainingInstanceTypes().addAll(supportedTrainingInstanceTypesCopy);
          }
          return this;
      }
docs: <p>
  A list of the instance types that this algorithm can use for training.
  </p>
  
  @param supportedTrainingInstanceTypes
  A list of the instance types that this algorithm can use for training.
  @return Returns a reference to this object so that method calls can be chained together.
  @see TrainingInstanceType