if (!insts.classAttribute().isNominal()) { throw new UnsupportedClassTypeException("OrdinalClassClassifier: class should " + "be declared nominal!"); }
  public void buildClassifier(Instances insts) throws Exception {    Instances newInsts;        if (m_Classifier == null) {      throw new Exception("No base classifier has been set!");    }    m_ZeroR = new ZeroR();    m_ZeroR.buildClassifier(insts);    int numClassifiers = insts.numClasses() - 1;    numClassifiers = (numClassifiers == 0) ? 1 : numClassifiers;    if (numClassifiers == 1) {      m_Classifiers = Classifier.makeCopies(m_Classifier, 1);      m_Classifiers[0].buildClassifier(insts);    } else {      m_Classifiers = Classifier.makeCopies(m_Classifier, numClassifiers);      m_ClassFilters = new MakeIndicator[numClassifiers];      for (int i = 0; i < m_Classifiers.length; i++) {	m_ClassFilters[i] = new MakeIndicator();	m_ClassFilters[i].setAttributeIndex(insts.classIndex());	m_ClassFilters[i].setValueIndices(""+(i+2)+"-last");	m_ClassFilters[i].setNumeric(false);	m_ClassFilters[i].setInputFormat(insts);	newInsts = Filter.useFilter(insts, m_ClassFilters[i]);	m_Classifiers[i].buildClassifier(newInsts);      }    }    m_ClassAttribute = insts.classAttribute();  }