if ((m_NumIterations + 1) % subCmtySize == 0) {
if ((m_NumIterationsPerformed + 1) % subCmtySize == 0) {
  protected void setWeights(Instances training, double reweight)     throws Exception {    int subCmtySize = m_Classifiers.length / m_NumSubCmtys;    if ((m_NumIterations + 1) % subCmtySize == 0) {      System.err.println(m_NumIterations + " " + subCmtySize);      double oldSumOfWeights = training.sumOfWeights();      // Randomly set the weights of the training instances to the poisson distributon      for (int i = 0; i < training.numInstances(); i++) {	training.instance(i).setWeight( - Math.log((m_Random.nextDouble() * 9999) / 10000) );      }      // Renormailise weights      double sumProbs = training.sumOfWeights();      for (int i = 0; i < training.numInstances(); i++) {	training.instance(i).setWeight(training.instance(i).weight() * oldSumOfWeights / sumProbs);      }    } else {      super.setWeights(training, reweight);    }  }