if ((m_unpruned) || (!m_subtreeRaising)) {
if ((m_unpruned) && (!m_subtreeRaising)) {
  public void setOptions(String[] options) throws Exception{        // Other options    String minNumString = Utils.getOption('M', options);    if (minNumString.length() != 0) {      m_minNumObj = Integer.parseInt(minNumString);    } else {      m_minNumObj = 2;    }    m_binarySplits = Utils.getFlag('B', options);    // Pruning options    m_unpruned = Utils.getFlag('U', options);    m_subtreeRaising = !Utils.getFlag('S', options);    if ((m_unpruned) || (!m_subtreeRaising)) {      throw new Exception("Subtree raising doesn't need to be unset for unpruned tree!");    }    m_reducedErrorPruning = Utils.getFlag('R', options);    if ((m_unpruned) && (m_reducedErrorPruning)) {      throw new Exception("Unpruned tree and reduced error pruning can't be selected " +			  "simultaneously!");    }    String confidenceString = Utils.getOption('C', options);    if (confidenceString.length() != 0) {      if (m_reducedErrorPruning) {	throw new Exception("Setting the confidence doesn't make sense " +			    "for reduced error pruning.");      } else if (m_unpruned) {	throw new Exception("Doesn't make sense to change confidence for unpruned "			    +"tree!");      } else {	m_CF = (new Float(confidenceString)).floatValue();	if ((m_CF <= 0) || (m_CF >= 1)) {	  throw new Exception("Confidence has to be greater than zero and smaller " +			      "than one!");	}      }    } else {      m_CF = 0.25f;    }    String numFoldsString = Utils.getOption('N', options);    if (numFoldsString.length() != 0) {      if (!m_reducedErrorPruning) {	throw new Exception("Setting the number of folds" +			    " doesn't make sense if" +			    " reduced error pruning is not selected.");      } else {	m_numFolds = Integer.parseInt(numFoldsString);      }    } else {      m_numFolds = 3;    }  }