code: private <T> Converter<T> lookupConverter(Type targetType)
      {
          // Try with complete type
          Converter<T> converter = getConverter(targetType);
  
          // Try with simple class
          if (converter == null && targetType instanceof ParameterizedType) {
              Class<?> targetClass = ReflectionUtils.getTypeClass(targetType);
              converter = getConverter(targetClass);
          }
  
          if (converter == null) {
              if (targetType instanceof Class && Enum.class.isAssignableFrom((Class<?>) targetType)) {
                  // It's an Enum
                  converter = (Converter<T>) this.enumConverter;
              } else {
                  // Fallback on default converter
  
                  this.logger.debug("Using the default Converter for type [{}]", targetType);
  
                  converter = this.defaultConverter;
              }
          }
  
          return converter;
      }
docs: Find the right {@link Converter} for the provided {@link Class}.
  
  @param <T> the type in which the provided value has to be converted
  @param targetType the type to convert to
  @return the {@link Converter} corresponding to the class