Instances origDataset = instance.dataset(); for (int i = 0; i < m_OutputStringAtts.length; i++) { int attIndex = m_OutputStringAtts[i]; Attribute dest = m_OutputFormat.attribute(attIndex); Attribute src = origDataset.attribute(attIndex); int valIndex = dest.addStringValue(src, (int)instance.value(attIndex)); instance.setValue(attIndex, (double)valIndex); }  instance.setDataset(m_OutputFormat);
reassignWithStrings(instance, m_OutputFormat, m_OutputStringAtts);
  protected void push(Instance instance) {    if (instance != null) {      // Copy any string values across      Instances origDataset = instance.dataset();      for (int i = 0; i < m_OutputStringAtts.length; i++) {        int attIndex = m_OutputStringAtts[i];        Attribute dest = m_OutputFormat.attribute(attIndex);        Attribute src = origDataset.attribute(attIndex);        int valIndex = dest.addStringValue(src, (int)instance.value(attIndex));        instance.setValue(attIndex, (double)valIndex);      }      // Point the instance at the outputformat dataset      instance.setDataset(m_OutputFormat);      // Queue up for later retrieval      m_OutputQueue.push(instance);    }  }