docs: @Override protected void queryArgumentValueSet(Argument arg, java.util.Properties inputArgs) {
      super.queryArgumentValueSet(arg, inputArgs);
  
      if (!arg._name.equals("checkpoint") && !Utils.contains(cp_modifiable, arg._name)) {
        if (checkpoint != null) {
          arg.disable("Taken from model checkpoint.");
          final DeepLearningModel cp_model = UKV.get(checkpoint);
          if (cp_model == null) {
            throw new IllegalArgumentException("Checkpointed model was not found.");
          }
          if (cp_model.model_info().unstable()) {
            throw new IllegalArgumentException("Checkpointed model was unstable. Not restarting.");
          }
          return;
        }
      }
      if(arg._name.equals("initial_weight_scale") &&
              (initial_weight_distribution == InitialWeightDistribution.UniformAdaptive)
              ) {
        arg.disable("Using sqrt(6 / (# units + # units of previous layer)) for Uniform distribution.", inputArgs);
      }
      if (classification) {
        if(arg._name.equals("regression_stop")) {
          arg.disable("Only for regression.", inputArgs);
        }
        if((arg._name.equals("max_after_balance_size") || arg._name.equals("class_sampling_factors")) && !balance_classes) {
          arg.disable("Requires balance_classes.", inputArgs);
        }
      }
      else {
        if(arg._name.equals("classification_stop")
                || arg._name.equals("max_confusion_matrix_size")
                || arg._name.equals("max_hit_ratio_k")
                || arg._name.equals("max_after_balance_size")
                || arg._name.equals("balance_classes")
                || arg._name.equals("class_sampling_factors")
                ) {
          arg.disable("Only for classification.", inputArgs);
        }
        if (validation != null && arg._name.equals("score_validation_sampling")) {
          score_validation_sampling = ClassSamplingMethod.Uniform;
          arg.disable("Using uniform sampling for validation scoring dataset.", inputArgs);
        }
      }
      if ((arg._name.equals("score_validation_samples") || arg._name.equals("score_validation_sampling")) && validation == null) {
        arg.disable("Requires a validation data set.", inputArgs);
      }
      if (Utils.contains(expert_options, arg._name) && !expert_mode) {
        arg.disable("Only in expert mode.", inputArgs);
      }
      if (!adaptive_rate) {
        if (arg._name.equals("rho") || arg._name.equals("epsilon")) {
          arg.disable("Only for adaptive learning rate.", inputArgs);
          rho = 0;
          epsilon = 0;
        }
      } else {
        if (arg._name.equals("rate") || arg._name.equals("rate_annealing") || arg._name.equals("rate_decay") || arg._name.equals("nesterov_accelerated_gradient")
                || arg._name.equals("momentum_start") || arg._name.equals("momentum_ramp") || arg._name.equals("momentum_stable") ) {
          arg.disable("Only for non-adaptive learning rate.", inputArgs);
          momentum_start = 0;
          momentum_stable = 0;
        }
      }
      if (arg._name.equals("hidden_dropout_ratios")) {
        if (activation != Activation.TanhWithDropout && activation != Activation.MaxoutWithDropout && activation != Activation.RectifierWithDropout) {
          arg.disable("Only for activation functions with dropout.", inputArgs);
        }
      }
      if (arg._name.equals("replicate_training_data") && (H2O.CLOUD.size() == 1)) {
        arg.disable("Only for multi-node operation.");
        replicate_training_data = false;
      }
      if (arg._name.equals("single_node_mode") && (H2O.CLOUD.size() == 1 || !replicate_training_data)) {
        arg.disable("Only for multi-node operation with replication.");
        single_node_mode = false;
      }
      if (arg._name.equals("use_all_factor_levels") && autoencoder ) {
        arg.disable("Automatically enabled for auto-encoders.");
        use_all_factor_levels = true;
      }
      if(arg._name.equals("override_with_best_model") && n_folds != 0) {
        arg.disable("Only without n-fold cross-validation.", inputArgs);
        override_with_best_model = false;
      }
      if(arg._name.equals("average_activation") && !autoencoder) {
        arg.disable("Only for autoencoder.", inputArgs);
      }
      if(arg._name.equals("sparsity_beta") && !autoencoder) {
        arg.disable("Only for autoencoder.", inputArgs);
      }
    }