docs: static Object getFieldValue(final Object containingObj, final Field field)
              throws IllegalArgumentException, IllegalAccessException {
          final Class<?> fieldType = field.getType();
          if (fieldType == Integer.TYPE) {
              return field.getInt(containingObj);
          } else if (fieldType == Long.TYPE) {
              return field.getLong(containingObj);
          } else if (fieldType == Short.TYPE) {
              return field.getShort(containingObj);
          } else if (fieldType == Double.TYPE) {
              return field.getDouble(containingObj);
          } else if (fieldType == Float.TYPE) {
              return field.getFloat(containingObj);
          } else if (fieldType == Boolean.TYPE) {
              return field.getBoolean(containingObj);
          } else if (fieldType == Byte.TYPE) {
              return field.getByte(containingObj);
          } else if (fieldType == Character.TYPE) {
              return field.getChar(containingObj);
          } else {
              return field.get(containingObj);
          }
      }