org_eclipse_hono_service_management_device_DeviceTest_java
com.fasterxml.jackson.databind.type.TypeFactory
public JavaType constructSpecializedType(JavaType baseType, Class<?> subclass, boolean relaxedCompatibilityCheck) throws IllegalArgumentException {
        block10: {
            block11: {
                block9: {
                    rawBase = baseType.getRawClass();
                    if (rawBase == subclass) {
                        return baseType;
                    }
                    if (rawBase != Object.class) break block9;
                    newType = this._fromClass(null, subclass, TypeFactory.EMPTY_BINDINGS);
                    break block10;
                }
                if (!rawBase.isAssignableFrom(subclass)) {
                    throw new IllegalArgumentException(String.format("Class %s not subtype of %s", new Object[]{ClassUtil.nameOf(subclass), ClassUtil.getTypeDescription(baseType)}));
                }
                if (!baseType.isContainerType()) ** GOTO lbl22
                if (!baseType.isMapLikeType()) break block11;
                if (subclass != HashMap.class && subclass != LinkedHashMap.class && subclass != EnumMap.class && subclass != TreeMap.class) ** GOTO lbl22
                newType = this._fromClass(null, subclass, TypeBindings.create(subclass, baseType.getKeyType(), baseType.getContentType()));
                break block10;
            }
            if (!baseType.isCollectionLikeType()) ** GOTO lbl22
            if (subclass == ArrayList.class || subclass == LinkedList.class || subclass == HashSet.class || subclass == TreeSet.class) {
                newType = this._fromClass(null, subclass, TypeBindings.create(subclass, baseType.getContentType()));
            } else {
                if (rawBase == EnumSet.class) {
                    return baseType;
                }
lbl22:
                // 5 sources

                if (baseType.getBindings().isEmpty()) {
                    newType = this._fromClass(null, subclass, TypeFactory.EMPTY_BINDINGS);
                } else {
                    typeParamCount = subclass.getTypeParameters().length;
                    if (typeParamCount == 0) {
                        newType = this._fromClass(null, subclass, TypeFactory.EMPTY_BINDINGS);
                    } else {
                        tb = this._bindingsForSubtype(baseType, typeParamCount, subclass, relaxedCompatibilityCheck);
                        newType = this._fromClass(null, subclass, tb);
                    }
                }
            }
        }
 -> java.lang.Class.isAssignableFrom(java.lang.Class): boolean -> java.lang.reflect.TypeVariable.getName(): java.lang.String -> 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.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.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.reflect.TypeVariable.getName(): java.lang.String -> 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.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.String.equals(java.lang.Object): boolean -> 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.reflect.TypeVariable.getName(): java.lang.String -> java.lang.Class.isPrimitive(): boolean -> java.util.concurrent.ConcurrentHashMap.get(java.lang.Object): java.lang.Object -> 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.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.reflect.TypeVariable.getName(): java.lang.String -> 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.Class.isArray(): boolean -> java.lang.Class.isInterface(): boolean -> java.lang.Class.getGenericInterfaces(): java.lang.reflect.Type[] -> java.util.Arrays.asList(java.lang.Object[]): java.util.List -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): 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.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.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.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.reflect.TypeVariable.getName(): java.lang.String -> 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.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.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.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.reflect.TypeVariable.getName(): java.lang.String -> 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.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
 [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 -> java.lang.reflect.TypeVariable.getName(): java.lang.String [CALL] [CALL] [EXIT] [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] [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] -> java.lang.reflect.TypeVariable.getName(): java.lang.String [CALL] -> java.lang.String.equals(java.lang.Object): boolean -> 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 -> java.lang.reflect.TypeVariable.getName(): java.lang.String [CALL] [CALL] [EXIT] [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] [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] -> java.lang.reflect.TypeVariable.getName(): java.lang.String [CALL] -> java.lang.String.equals(java.lang.Object): boolean -> 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 -> java.lang.reflect.TypeVariable.getName(): java.lang.String [CALL] [CALL] [EXIT] [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] [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] -> java.lang.reflect.TypeVariable.getName(): java.lang.String [CALL] -> java.lang.String.equals(java.lang.Object): boolean -> 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 -> java.lang.reflect.TypeVariable.getName(): java.lang.String [CALL] [CALL] [EXIT] [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] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [EXIT] -> java.lang.Class.isArray(): boolean -> java.lang.Class.isInterface(): boolean [CALL] [CALL] -> java.lang.Class.getGenericInterfaces(): java.lang.reflect.Type[] [EXIT] [EXIT] [CALL] [CALL] [CALL] -> java.util.Arrays.asList(java.lang.Object[]): java.util.List [EXIT] -> java.util.List.size(): int -> java.util.List.get(int): java.lang.Object -> java.util.List.get(int): java.lang.Object [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] -> java.lang.Class.getName(): java.lang.String -> java.lang.String.hashCode(): int [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [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] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [CALL] [CALL] [EXIT] [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] [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] [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] -> java.lang.reflect.TypeVariable.getName(): java.lang.String [CALL] -> java.lang.String.equals(java.lang.Object): boolean -> 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 -> java.lang.reflect.TypeVariable.getName(): java.lang.String [CALL] [CALL] [EXIT] [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 [CALL] [EXIT] [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] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [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] [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] [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] -> java.lang.reflect.TypeVariable.getName(): java.lang.String [CALL] -> java.lang.String.equals(java.lang.Object): boolean -> 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 -> java.lang.reflect.TypeVariable.getName(): java.lang.String [CALL] [CALL] [EXIT] [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 [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [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] [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] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT]