code: private BigDecimal convertValue(final Object value) {
  		if (value == null) {
  			return null;
  		} else if (value instanceof BigDecimal) {
  			return (BigDecimal) value;
  		}
  
  		// Try and convert "String" value
  		String dataString = value.toString();
  		if (Util.empty(dataString)) {
  			return null;
  		}
  
  		try {
  			return new BigDecimal(dataString);
  		} catch (NumberFormatException ex) {
  			throw new SystemException(
  					"Could not convert data of type " + value.getClass() + " with String value "
  					+ dataString + " to BigDecimal", ex);
  		}
  	}
docs: Attempts to convert a value to a BigDecimal. Throws a SystemException on error.
  
  @param value the value to convert.
  @return the converted value, or null if <code>value</code> was null/empty.