protected void addScoringJobOptionsOnly(List<String> opts) {
    String[] scoringOpts = m_job.getOptions();

    for (String o : scoringOpts) {
      opts.add(o);
    }
  }
  @Override
  public void setObject(Object bean) {
    m_bean = (AbstractHadoopJob) bean;

    m_job = m_bean.getUnderlyingJob();

    m_optionsOrig = m_bean.getJobOptions();

    m_mrConfig = m_job.getMapReduceJobConfig();

    m_mrConfigEditor.setEnvironment(m_env);
    m_mrConfigEditor.setTarget(m_mrConfig);

    setup();
  }
  /**
   * Gets the base options from the underlying job and stores them in a list
   *
   * @param job the job to extract base options from
   * @return a list of options
   */
  protected List<String> getBaseConfig(HadoopJob job) {
    Map<String, String> userProps = m_propPanel.getProperties();
    for (Map.Entry<String, String> e : userProps.entrySet()) {

      // skip this one! As we'll get it via the base job stuff below
      if (e.getKey() != null && !e.getKey().equals(DistributedJob.WEKA_ADDITIONAL_PACKAGES_KEY)) {
        m_mrConfig.setUserSuppliedProperty(e.getKey(), e.getValue());
      }
    }

    String[] baseJobOpts = job.getBaseOptionsOnly();
    String[] mrConfigOpts = m_mrConfig.getOptions();

    List<String> opts = new ArrayList<String>();
    for (String s : baseJobOpts) {
      opts.add(s);
    }

    for (String s : mrConfigOpts) {
      opts.add(s);
    }

    return opts;
  }