protected void setOldValues() throws JRException {
    if (fields != null && fields.length > 0) {
      for (int i = 0; i < fields.length; i++) {
        JRFillField field = fields[i];
        field.setPreviousOldValue(field.getOldValue());
        field.setOldValue(field.getValue());
        field.setValue(dataSource.getFieldValue(field));
      }
    }

    if (variables != null && variables.length > 0) {
      for (int i = 0; i < variables.length; i++) {
        JRFillVariable variable = variables[i];
        variable.setPreviousOldValue(variable.getOldValue());
        variable.setOldValue(variable.getValue());
      }
    }
  }