code: @Override
      public Object readValue(final Attribute _attribute,
                              final List<Object> _objectList)
      {
          final List<Object[]> ret = new ArrayList<>();
          for (final Object object : _objectList) {
              final Object[] temp = (Object[]) object;
              final Object value = readValue(temp[0]);
              final UoM uom = temp[1] == null ? _attribute.getDimension().getBaseUoM() : Dimension.getUoM((Long) temp[1]);
              if (temp.length > 2) {
                  final Object obj = temp[2];
                  double dbl = 0;
                  if (obj instanceof Number) {
                      dbl = ((Number) obj).doubleValue();
                  } else if (obj != null) {
                      dbl = Double.parseDouble(obj.toString());
                  }
                  ret.add(new Object[]{value, uom, dbl});
              } else {
                  ret.add(new Object[]{value, uom});
              }
  
          }
          return _objectList.size() > 0 ? ret.size() > 1 ? ret : ret.get(0) : null;
      }
docs: {@inheritDoc}