code: private boolean canBeMadeFromString() {
          final Class<?> clazz = getClassForUnderlyingField();
          if (clazz.isEnum()) {
              return true;
          }
          try {
              // Need to use getDeclaredConstructor() instead of getConstructor() in case the constructor
              // is non-public
              clazz.getDeclaredConstructor(String.class);
              return true;
          } catch (final NoSuchMethodException e) {
              return false;
          }
      }
docs: True if clazz is an enum, or if it has a ctor that takes a single String argument.