vals[i] = oldVal;
vals[i] = instance.value(i);
  public boolean input(Instance instance) throws Exception {    double oldVal;    Double[] params = new Double[1];    Double newVal;    if (getInputFormat() == null) {      throw new Exception("No input instance format defined");    }    if (m_NewBatch) {      resetQueue();      m_NewBatch = false;    }    double[] vals = new double[instance.numAttributes()];    for(int i = 0; i < instance.numAttributes(); i++) {      if (instance.isMissing(i)) {	vals[i] = Instance.missingValue();      } else {	oldVal = instance.value(i);	if (m_Cols.isInRange(i) &&	    instance.attribute(i).isNumeric()) {	  params[0] = new Double(oldVal);	  newVal = (Double) m_Method.invoke(null, params);	  if (newVal.isNaN() || newVal.isInfinite()) {	    vals[i] = Instance.missingValue();	  } else {	    vals[i] = newVal.doubleValue(); 	  }	} else {	  vals[i] = oldVal;	}      }    }    if (instance instanceof SparseInstance) {      push(new SparseInstance(instance.weight(), vals));    } else {      push(new Instance(instance.weight(), vals));    }       return true;  }