com_opensymphony_xwork2_conversion_impl_DateConverterTest_java
org.apache.logging.log4j.core.config.plugins.convert.TypeConverterRegistry
public TypeConverter<?> findCompatibleConverter(Type type) {
        Class clazz;
        Objects.requireNonNull(type, "No type was provided");
        TypeConverter primary = (TypeConverter)this.registry.get(type);
        if (primary != null) {
            return primary;
        }
        if (type instanceof Class && (clazz = (Class)type).isEnum()) {
            EnumConverter<Enum> converter = new EnumConverter<Enum>(clazz.asSubclass(Enum.class));
            Object object = INSTANCE_LOCK;
            synchronized (object) {
                return this.registerConverter(type, converter);
            }
        }
        for (Map.Entry entry : this.registry.entrySet()) {
            Type key = (Type)entry.getKey();
            if (!TypeUtil.isAssignable(type, key)) continue;
            LOGGER.debug("Found compatible TypeConverter<{}> for type [{}].", (Object)key, (Object)type);
            TypeConverter value = (TypeConverter)entry.getValue();
            Object object = INSTANCE_LOCK;
            synchronized (object) {
                return this.registerConverter(type, value);
            }
        }
        throw new UnknownFormatConversionException(type.toString());
    }
 -> java.util.Objects.requireNonNull(java.lang.Object,java.lang.String): java.lang.Object -> java.util.concurrent.ConcurrentMap.get(java.lang.Object): java.lang.Object -> java.lang.Class.isEnum(): boolean -> java.lang.Class.asSubclass(java.lang.Class): java.lang.Class -> java.util.concurrent.ConcurrentMap.get(java.lang.Object): java.lang.Object -> java.util.concurrent.ConcurrentMap.put(java.lang.Object,java.lang.Object): java.lang.Object
 [CALL] -> java.util.Objects.requireNonNull(java.lang.Object,java.lang.String): java.lang.Object -> java.util.concurrent.ConcurrentMap.get(java.lang.Object): java.lang.Object -> java.lang.Class.isEnum(): boolean -> java.lang.Class.asSubclass(java.lang.Class): java.lang.Class [CALL] [EXIT] [CALL] -> java.util.concurrent.ConcurrentMap.get(java.lang.Object): java.lang.Object -> java.util.concurrent.ConcurrentMap.put(java.lang.Object,java.lang.Object): java.lang.Object [EXIT] [EXIT]