code: protected ConversionStatus convertCompatible(String rawString, Class<?> type) {
          ConversionStatus status = new ConversionStatus();
          for (PriorityConverter con : converters.getAll()) {
              Type key = con.getType();
              if (key instanceof Class) {
                  Class<?> clazz = (Class<?>) key;
                  if (type.isAssignableFrom(clazz)) {
                      Object converted = convert(rawString, key);
                      status.setConverted(converted);
                      break;
                  }
              } else if (key instanceof TypeVariable) {
                  TypeVariable<?> typeVariable = (TypeVariable<?>) key;
                  status = convertGenericClazz(rawString, type, typeVariable);
                  if (status.isConverterFound()) {
                      break;
                  }
              }
          }
          return status;
  
      }
docs: Converts from String based on isAssignableFrom or instanceof
  
  @param rawString
  @param type
  @return ConversionStatus<T> whether a converter is found and the converted value