else return m_distribution.prob(classIndex);
} else { double [] weights = weights(instance); if (weights == null) { return m_distribution.prob(classIndex); } else { double prob = 0; for (int i = 0; i < weights.length; i++) { prob += weights[i] * m_distribution.prob(classIndex, i); } return prob; } }
  public double classProb(int classIndex,Instance instance)        throws Exception {        int theSubset = whichSubset(instance);    if (theSubset > -1)      return m_distribution.prob(classIndex,theSubset);    else      return m_distribution.prob(classIndex);  }