code: protected Rate eval(final Object... _values)
          throws SQLException
      {
          final Rate ret;
          if ((_values == null) || (_values[0] == null)) {
              ret = null;
          } else if (_values[0] instanceof Object[]) {
              final Object[] valueTmp = (Object[]) _values[0];
              if (valueTmp.length < 2) {
                  ret = null;
              } else {
                  ret = new Rate(evalObject(valueTmp[0]), evalObject(valueTmp[1]));
              }
          } else {
              ret = new Rate(evalObject(_values[0]), evalObject(_values[1]));
          }
          return ret;
      }
docs: The localized string and the internal string value are equal. So the
  internal value can be evaluated directly.
  
  @param _values values to evaluate
  @return evaluated big decimal value with unit of measure
  @throws SQLException on error