org_eclipse_hono_deviceregistry_mongodb_model_MongoDbBasedDeviceDaoTest_java
com.fasterxml.jackson.databind.deser.BasicDeserializerFactory
@Override
    public JsonDeserializer<?> createCollectionDeserializer(DeserializationContext ctxt, CollectionType type, BeanDescription beanDesc) throws JsonMappingException {
        JsonDeserializer deser;
        JavaType contentType = type.getContentType();
        JsonDeserializer contentDeser = (JsonDeserializer)contentType.getValueHandler();
        DeserializationConfig config = ctxt.getConfig();
        TypeDeserializer contentTypeDeser = (TypeDeserializer)contentType.getTypeHandler();
        if (contentTypeDeser == null) {
            contentTypeDeser = this.findTypeDeserializer(config, contentType);
        }
        if ((deser = this._findCustomCollectionDeserializer(type, config, beanDesc, contentTypeDeser, contentDeser)) == null) {
            Class<?> collectionClass = type.getRawClass();
            if (contentDeser == null && EnumSet.class.isAssignableFrom(collectionClass)) {
                deser = new EnumSetDeserializer(contentType, null);
            }
        }
        if (deser == null) {
            if (type.isInterface() || type.isAbstract()) {
                CollectionType implType = this._mapAbstractCollectionType(type, config);
                if (implType == null) {
                    if (type.getTypeHandler() == null) {
                        throw new IllegalArgumentException("Cannot find a deserializer for non-concrete Collection type " + type);
                    }
                    deser = AbstractDeserializer.constructForNonPOJO(beanDesc);
                } else {
                    type = implType;
                    beanDesc = config.introspectForCreation(type);
                }
            }
            if (deser == null) {
                ValueInstantiator inst = this.findValueInstantiator(ctxt, beanDesc);
                if (!inst.canCreateUsingDefault()) {
                    if (type.hasRawClass(ArrayBlockingQueue.class)) {
                        return new ArrayBlockingQueueDeserializer(type, contentDeser, contentTypeDeser, inst);
                    }
                    deser = JavaUtilCollectionsDeserializers.findForCollection((DeserializationContext)ctxt, (JavaType)type);
                    if (deser != null) {
                        return deser;
                    }
                }
                deser = contentType.hasRawClass(String.class) ? new StringCollectionDeserializer((JavaType)type, contentDeser, inst) : new CollectionDeserializer(type, contentDeser, contentTypeDeser, inst);
            }
        }
        if (this._factoryConfig.hasDeserializerModifiers()) {
            for (BeanDeserializerModifier mod : this._factoryConfig.deserializerModifiers()) {
                deser = mod.modifyCollectionDeserializer(config, type, beanDesc, deser);
            }
        }
        return deser;
    }
 -> java.lang.Class.isPrimitive(): boolean -> java.lang.Class.isPrimitive(): boolean -> java.lang.Class.getName(): java.lang.String -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.Iterable.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.lang.Class.getName(): java.lang.String -> java.lang.String.hashCode(): int -> java.util.HashMap.get(java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.lang.Class.isInterface(): boolean -> java.lang.Class.getName(): java.lang.String -> java.util.HashMap.get(java.lang.Object): java.lang.Object -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.lang.reflect.TypeVariable.getName(): java.lang.String -> java.lang.Class.isPrimitive(): boolean -> java.util.concurrent.ConcurrentHashMap.get(java.lang.Object): java.lang.Object -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Class.isArray(): boolean -> java.lang.Class.isInterface(): boolean -> java.lang.Class.getGenericSuperclass(): java.lang.reflect.Type -> java.lang.reflect.ParameterizedType.getRawType(): java.lang.reflect.Type -> java.lang.reflect.ParameterizedType.getActualTypeArguments(): java.lang.reflect.Type[] -> java.lang.reflect.TypeVariable.getName(): java.lang.String -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.reflect.TypeVariable.getName(): java.lang.String -> java.lang.Class.isPrimitive(): boolean -> java.util.concurrent.ConcurrentHashMap.get(java.lang.Object): java.lang.Object -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Class.isArray(): boolean -> java.lang.Class.isInterface(): boolean -> java.lang.Class.getGenericSuperclass(): java.lang.reflect.Type -> java.lang.reflect.ParameterizedType.getRawType(): java.lang.reflect.Type -> java.lang.reflect.ParameterizedType.getActualTypeArguments(): java.lang.reflect.Type[] -> java.lang.reflect.TypeVariable.getName(): java.lang.String -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.Class.getTypeParameters(): java.lang.reflect.TypeVariable[] -> java.lang.reflect.TypeVariable.getName(): java.lang.String -> java.lang.Class.isPrimitive(): boolean -> java.util.concurrent.ConcurrentHashMap.get(java.lang.Object): java.lang.Object -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Class.isArray(): boolean -> java.lang.Class.isInterface(): boolean -> java.lang.Class.getGenericSuperclass(): java.lang.reflect.Type -> java.lang.Class.isPrimitive(): boolean -> java.lang.Class.getGenericInterfaces(): java.lang.reflect.Type[] -> java.lang.reflect.ParameterizedType.getRawType(): java.lang.reflect.Type -> java.lang.reflect.ParameterizedType.getActualTypeArguments(): java.lang.reflect.Type[] -> java.lang.reflect.TypeVariable.getName(): java.lang.String -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.reflect.TypeVariable.getName(): java.lang.String -> java.lang.Class.isPrimitive(): boolean -> java.util.concurrent.ConcurrentHashMap.get(java.lang.Object): java.lang.Object -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Class.getName(): java.lang.String -> java.lang.String.hashCode(): int -> java.util.concurrent.ConcurrentHashMap.size(): int -> java.util.concurrent.ConcurrentHashMap.putIfAbsent(java.lang.Object,java.lang.Object): java.lang.Object -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Class.getGenericInterfaces(): java.lang.reflect.Type[] -> java.lang.reflect.ParameterizedType.getRawType(): java.lang.reflect.Type -> java.lang.reflect.ParameterizedType.getActualTypeArguments(): java.lang.reflect.Type[] -> java.lang.reflect.TypeVariable.getName(): java.lang.String -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.reflect.TypeVariable.getName(): java.lang.String -> java.lang.Class.isPrimitive(): boolean -> java.util.concurrent.ConcurrentHashMap.get(java.lang.Object): java.lang.Object -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Class.getName(): java.lang.String -> java.lang.String.hashCode(): int -> java.util.concurrent.ConcurrentHashMap.size(): int -> java.util.concurrent.ConcurrentHashMap.putIfAbsent(java.lang.Object,java.lang.Object): java.lang.Object -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Class.getGenericInterfaces(): java.lang.reflect.Type[] -> java.lang.reflect.ParameterizedType.getRawType(): java.lang.reflect.Type -> java.lang.reflect.ParameterizedType.getActualTypeArguments(): java.lang.reflect.Type[] -> java.lang.reflect.TypeVariable.getName(): java.lang.String -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.reflect.TypeVariable.getName(): java.lang.String -> java.lang.Class.isPrimitive(): boolean -> java.util.concurrent.ConcurrentHashMap.get(java.lang.Object): java.lang.Object -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Class.isPrimitive(): boolean -> java.util.concurrent.ConcurrentHashMap.get(java.lang.Object): java.lang.Object -> java.lang.Class.isPrimitive(): boolean -> java.util.concurrent.ConcurrentHashMap.get(java.lang.Object): java.lang.Object -> java.lang.Class.isPrimitive(): boolean -> java.util.concurrent.ConcurrentHashMap.get(java.lang.Object): java.lang.Object -> java.lang.Class.getName(): java.lang.String -> java.lang.String.hashCode(): int -> java.util.concurrent.ConcurrentHashMap.size(): int -> java.util.concurrent.ConcurrentHashMap.putIfAbsent(java.lang.Object,java.lang.Object): java.lang.Object -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Class.isPrimitive(): boolean -> java.lang.Class.getName(): java.lang.String -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.Class.getName(): java.lang.String -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.lang.Class.getName(): java.lang.String -> java.lang.String.startsWith(java.lang.String): boolean -> java.lang.Class.isInterface(): boolean -> java.util.Arrays.asList(java.lang.Object[]): java.util.List -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.List.size(): int -> java.util.List.add(java.lang.Object): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.util.List.add(java.lang.Object): boolean -> java.util.Collections.emptyList(): java.util.List -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.add(java.lang.Object): boolean -> java.util.Collections.emptyList(): java.util.List -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.add(java.lang.Object): boolean -> java.util.Collections.emptyList(): java.util.List -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.add(java.lang.Object): boolean -> java.util.Collections.singletonList(java.lang.Object): java.util.List -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.add(java.lang.Object): boolean -> java.util.Collections.singletonList(java.lang.Object): java.util.List -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.add(java.lang.Object): boolean -> java.util.Collections.singletonList(java.lang.Object): java.util.List -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object -> java.util.List.add(java.lang.Object): boolean -> java.util.Collections.emptyList(): java.util.List -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.hasNext(): boolean -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Collections.emptyList(): java.util.List -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean
 [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] -> java.lang.Class.isPrimitive(): boolean [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] -> java.lang.Class.isPrimitive(): boolean [CALL] -> java.lang.Class.getName(): java.lang.String -> java.lang.String.startsWith(java.lang.String): boolean [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] -> java.lang.Iterable.iterator(): java.util.Iterator [CALL] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] -> java.lang.Class.getName(): java.lang.String -> java.lang.String.hashCode(): int [EXIT] -> java.util.HashMap.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] [EXIT] [CALL] [EXIT] -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean [CALL] -> java.lang.Class.isInterface(): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] -> java.lang.Class.getName(): java.lang.String -> java.util.HashMap.get(java.lang.Object): java.lang.Object [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] -> java.lang.reflect.TypeVariable.getName(): java.lang.String [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Class.isPrimitive(): boolean [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] -> java.util.concurrent.ConcurrentHashMap.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class [EXIT] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class [EXIT] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.lang.Class.isArray(): boolean -> java.lang.Class.isInterface(): boolean [CALL] [CALL] -> java.lang.Class.getGenericSuperclass(): java.lang.reflect.Type [EXIT] [CALL] [CALL] -> java.lang.reflect.ParameterizedType.getRawType(): java.lang.reflect.Type -> java.lang.reflect.ParameterizedType.getActualTypeArguments(): java.lang.reflect.Type[] [CALL] [CALL] -> java.lang.reflect.TypeVariable.getName(): java.lang.String [CALL] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] -> java.lang.reflect.TypeVariable.getName(): java.lang.String [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Class.isPrimitive(): boolean [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] -> java.util.concurrent.ConcurrentHashMap.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class [EXIT] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class [EXIT] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.lang.Class.isArray(): boolean -> java.lang.Class.isInterface(): boolean [CALL] [CALL] -> java.lang.Class.getGenericSuperclass(): java.lang.reflect.Type [EXIT] [CALL] [CALL] -> java.lang.reflect.ParameterizedType.getRawType(): java.lang.reflect.Type -> java.lang.reflect.ParameterizedType.getActualTypeArguments(): java.lang.reflect.Type[] [CALL] [CALL] -> java.lang.reflect.TypeVariable.getName(): java.lang.String [CALL] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.Class.getTypeParameters(): java.lang.reflect.TypeVariable[] [EXIT] -> java.lang.reflect.TypeVariable.getName(): java.lang.String [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Class.isPrimitive(): boolean [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] -> java.util.concurrent.ConcurrentHashMap.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class [EXIT] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class [EXIT] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.lang.Class.isArray(): boolean -> java.lang.Class.isInterface(): boolean [CALL] [CALL] -> java.lang.Class.getGenericSuperclass(): java.lang.reflect.Type [EXIT] [CALL] [CALL] [CALL] -> java.lang.Class.isPrimitive(): boolean [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Class.getGenericInterfaces(): java.lang.reflect.Type[] [EXIT] [CALL] [CALL] -> java.lang.reflect.ParameterizedType.getRawType(): java.lang.reflect.Type -> java.lang.reflect.ParameterizedType.getActualTypeArguments(): java.lang.reflect.Type[] [CALL] [CALL] -> java.lang.reflect.TypeVariable.getName(): java.lang.String [CALL] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] -> java.lang.reflect.TypeVariable.getName(): java.lang.String [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Class.isPrimitive(): boolean [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] -> java.util.concurrent.ConcurrentHashMap.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class [EXIT] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] -> java.lang.Class.getName(): java.lang.String -> java.lang.String.hashCode(): int [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.concurrent.ConcurrentHashMap.size(): int -> java.util.concurrent.ConcurrentHashMap.putIfAbsent(java.lang.Object,java.lang.Object): java.lang.Object [CALL] [EXIT] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class [EXIT] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class [EXIT] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class [EXIT] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Class.getGenericInterfaces(): java.lang.reflect.Type[] [EXIT] [CALL] [CALL] -> java.lang.reflect.ParameterizedType.getRawType(): java.lang.reflect.Type -> java.lang.reflect.ParameterizedType.getActualTypeArguments(): java.lang.reflect.Type[] [CALL] [CALL] -> java.lang.reflect.TypeVariable.getName(): java.lang.String [CALL] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] -> java.lang.reflect.TypeVariable.getName(): java.lang.String [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Class.isPrimitive(): boolean [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] -> java.util.concurrent.ConcurrentHashMap.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class [EXIT] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class [EXIT] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] -> java.lang.Class.getName(): java.lang.String -> java.lang.String.hashCode(): int [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.concurrent.ConcurrentHashMap.size(): int -> java.util.concurrent.ConcurrentHashMap.putIfAbsent(java.lang.Object,java.lang.Object): java.lang.Object [CALL] [EXIT] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class [EXIT] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class [EXIT] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class [EXIT] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class [EXIT] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Class.getGenericInterfaces(): java.lang.reflect.Type[] [EXIT] [CALL] [CALL] -> java.lang.reflect.ParameterizedType.getRawType(): java.lang.reflect.Type -> java.lang.reflect.ParameterizedType.getActualTypeArguments(): java.lang.reflect.Type[] [CALL] [CALL] -> java.lang.reflect.TypeVariable.getName(): java.lang.String [CALL] -> java.lang.String.equals(java.lang.Object): boolean [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] -> java.lang.reflect.TypeVariable.getName(): java.lang.String [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] -> java.lang.Class.isPrimitive(): boolean [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] -> java.util.concurrent.ConcurrentHashMap.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class [EXIT] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class [EXIT] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.Class.isPrimitive(): boolean [EXIT] [CALL] [EXIT] [CALL] -> java.util.concurrent.ConcurrentHashMap.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.Class.isPrimitive(): boolean [EXIT] [CALL] [EXIT] [CALL] -> java.util.concurrent.ConcurrentHashMap.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.lang.Class.isPrimitive(): boolean [EXIT] [CALL] [EXIT] [CALL] -> java.util.concurrent.ConcurrentHashMap.get(java.lang.Object): java.lang.Object [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] -> java.lang.Class.getName(): java.lang.String -> java.lang.String.hashCode(): int [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] -> java.util.concurrent.ConcurrentHashMap.size(): int -> java.util.concurrent.ConcurrentHashMap.putIfAbsent(java.lang.Object,java.lang.Object): java.lang.Object [CALL] [EXIT] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class [EXIT] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class [EXIT] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class [EXIT] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class [EXIT] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class [EXIT] [CALL] -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] -> java.lang.Class.isPrimitive(): boolean [CALL] -> java.lang.Class.getName(): java.lang.String -> java.lang.String.startsWith(java.lang.String): boolean [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.lang.Class.getName(): java.lang.String -> java.lang.String.startsWith(java.lang.String): boolean [EXIT] -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] -> java.lang.Class.getName(): java.lang.String -> java.lang.String.startsWith(java.lang.String): boolean [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] -> java.lang.Class.isInterface(): boolean [EXIT] [CALL] [CALL] [EXIT] [CALL] -> java.util.Arrays.asList(java.lang.Object[]): java.util.List [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [EXIT] [CALL] -> java.util.List.size(): int [EXIT] -> java.util.List.add(java.lang.Object): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [EXIT] [CALL] -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] -> java.util.Collections.emptyList(): java.util.List [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [EXIT] [CALL] -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] -> java.util.Collections.emptyList(): java.util.List [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [EXIT] [CALL] -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] -> java.util.Collections.emptyList(): java.util.List [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] -> java.util.Collections.singletonList(java.lang.Object): java.util.List [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [EXIT] [CALL] -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [EXIT] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] -> java.util.Collections.singletonList(java.lang.Object): java.util.List [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [EXIT] [CALL] -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] -> java.util.Collections.singletonList(java.lang.Object): java.util.List [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [CALL] [EXIT] [CALL] -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] -> java.util.List.get(int): java.lang.Object [CALL] [EXIT] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] -> java.util.Collections.emptyList(): java.util.List [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] -> java.util.List.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] -> java.util.Iterator.hasNext(): boolean [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] -> java.util.Collections.emptyList(): java.util.List [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT]