code: public <V> V getColumnValue(T instance, String columnName,
              Class<V> valueClass) {
          Field field = fields.get(columnName);
          if (field == null) {
              throw new IllegalArgumentException("Column not found: "
                      + columnName);
          }
          try {
              return valueClass.cast(field.get(instance));
          } catch (IllegalAccessException e) {
              throw new RuntimeException(e); // should never get here
          }
      }
docs: Return the value for the given column from the given instance
  
  @param instance
  the instance
  @param columnName
  name of the column (must match a corresponding annotated field
  in the instance's class)
  @param valueClass
  type of the value (must match the actual native type in the
  instance's class)
  @return value