code: @Override
     public Object determineData(Object dataObject, DataConfig type) throws VectorPrintException, NoSuchMethodException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
        Class dataClass = dataObject.getClass();
        Method m = dataClass.getMethod(type.getValueasstringmethod(), null);
        String value = String.valueOf(m.invoke(dataObject, null));
        Object d = value;
        if (type != null) {
           Class dataTypeClass = type.getDatatype().getDataclass();
           if (ReportValue.class.isAssignableFrom(dataClass)) {
              try {
                 d = ((ReportValue) dataClass.newInstance()).setValue(value).setAlternateFormat(type.getDatatype().getFormat());
              } catch (InstantiationException ex) {
                 throw new VectorPrintException(ex);
              }
           }
        }
        return d;
     }
docs: Based on a {@link DataConfig} attempts to convert a String into a {@link ReportValue}.
  
  @param type the definition of the {@link DataConfig}
  @param dataObject the object holding the data to be used
  @return the possibly converted value argument
  @throws VectorPrintException