public boolean passesTest(Instance inst) throws Exception {
    if (inst.isMissing(m_AttIndex)) return false; // missing values fail
	
    boolean isNominal = inst.attribute(m_AttIndex).isNominal();
    double attribVal = inst.value(m_AttIndex);
    if (!m_Not) {
      if (isNominal) {
        if (((int) attribVal) != ((int) m_Split)) return false;
      }
      else if (attribVal >= m_Split) return false;
    } else {
      if (isNominal) {
	if (((int) attribVal) == ((int) m_Split)) return false;
      }
      else if (attribVal < m_Split) return false;
    }
    return true;
  }