org_eclipse_hono_adapter_resourcelimits_PrometheusBasedAsyncCacheLoaderTest_java
net.bytebuddy.dynamic.loading.ClassInjector$UsingReflection
@Override
    public Map<String, Class<?>> injectRaw(Map<? extends String, byte[]> types) {
        dispatcher = ClassInjector$UsingReflection.DISPATCHER.initialize();
        result = new HashMap<String, Class<?>>();
        for (Map.Entry<? extends String, byte[]> entry : types.entrySet()) {
            var6_6 = dispatcher.getClassLoadingLock(this.classLoader, entry.getKey());
            synchronized (var6_6) {
                type = dispatcher.findClass(this.classLoader, entry.getKey());
                if (type == null) {
                    packageIndex = entry.getKey().lastIndexOf(46);
                    if (packageIndex != -1 && (definition = this.packageDefinitionStrategy.define(this.classLoader, packageName = entry.getKey().substring(0, packageIndex), entry.getKey())).isDefined()) {
                        definedPackage = dispatcher.getDefinedPackage(this.classLoader, packageName);
                        if (definedPackage == null) {
                            try {
                                dispatcher.definePackage(this.classLoader, packageName, definition.getSpecificationTitle(), definition.getSpecificationVersion(), definition.getSpecificationVendor(), definition.getImplementationTitle(), definition.getImplementationVersion(), definition.getImplementationVendor(), definition.getSealBase());
                            }
                            catch (IllegalStateException exception) {
                                definedPackage = dispatcher.getPackage(this.classLoader, packageName);
                                if (definedPackage == null) {
                                    throw exception;
                                }
                                if (definition.isCompatibleTo(definedPackage)) ** GOTO lbl25
                                throw new SecurityException("Sealing violation for package " + packageName + " (getPackage fallback)");
                            }
                        } else if (!definition.isCompatibleTo(definedPackage)) {
                            throw new SecurityException("Sealing violation for package " + packageName);
                        }
                    }
lbl25:
                    // 6 sources

                    type = dispatcher.defineClass(this.classLoader, entry.getKey(), entry.getValue(), this.protectionDomain);
                } else if (this.forbidExisting) {
                    throw new IllegalStateException("Cannot inject already loaded type: " + type);
                }
                result.put(entry.getKey(), type);
            }
        }
        return result;
    }
 -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Map.entrySet(): java.util.Set -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.String.lastIndexOf(int): int -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.String.substring(int,int): java.lang.String -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map$Entry.getValue(): java.lang.Object -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.String.lastIndexOf(int): int -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.String.substring(int,int): java.lang.String -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map$Entry.getValue(): java.lang.Object -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.String.lastIndexOf(int): int -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.String.substring(int,int): java.lang.String -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map$Entry.getValue(): java.lang.Object -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.String.lastIndexOf(int): int -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.String.substring(int,int): java.lang.String -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map$Entry.getValue(): java.lang.Object -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.String.lastIndexOf(int): int -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.String.substring(int,int): java.lang.String -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map$Entry.getValue(): java.lang.Object -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.String.lastIndexOf(int): int -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.String.substring(int,int): java.lang.String -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map$Entry.getValue(): java.lang.Object -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.String.lastIndexOf(int): int -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.String.substring(int,int): java.lang.String -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map$Entry.getValue(): java.lang.Object -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.String.lastIndexOf(int): int -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.String.substring(int,int): java.lang.String -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map$Entry.getValue(): java.lang.Object -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean
 [CALL] [CALL] [CALL] [EXIT] [CALL] -> java.lang.reflect.Method.getDeclaringClass(): java.lang.Class -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [CALL] [EXIT] [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] [EXIT] [EXIT] [EXIT] -> java.util.Map.entrySet(): java.util.Set -> java.util.Set.iterator(): java.util.Iterator -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] -> java.util.Map$Entry.getKey(): java.lang.Object [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.String.lastIndexOf(int): int -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.String.substring(int,int): java.lang.String -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map$Entry.getValue(): java.lang.Object [CALL] -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] -> java.util.Map$Entry.getKey(): java.lang.Object [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.String.lastIndexOf(int): int -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.String.substring(int,int): java.lang.String -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map$Entry.getValue(): java.lang.Object [CALL] -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] -> java.util.Map$Entry.getKey(): java.lang.Object [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.String.lastIndexOf(int): int -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.String.substring(int,int): java.lang.String -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map$Entry.getValue(): java.lang.Object [CALL] -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] -> java.util.Map$Entry.getKey(): java.lang.Object [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.String.lastIndexOf(int): int -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.String.substring(int,int): java.lang.String -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map$Entry.getValue(): java.lang.Object [CALL] -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] -> java.util.Map$Entry.getKey(): java.lang.Object [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.String.lastIndexOf(int): int -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.String.substring(int,int): java.lang.String -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map$Entry.getValue(): java.lang.Object [CALL] -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] -> java.util.Map$Entry.getKey(): java.lang.Object [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.String.lastIndexOf(int): int -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.String.substring(int,int): java.lang.String -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map$Entry.getValue(): java.lang.Object [CALL] -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] -> java.util.Map$Entry.getKey(): java.lang.Object [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.String.lastIndexOf(int): int -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.String.substring(int,int): java.lang.String -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map$Entry.getValue(): java.lang.Object [CALL] -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean -> java.util.Iterator.next(): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] -> java.util.Map$Entry.getKey(): java.lang.Object [CALL] -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.String.lastIndexOf(int): int -> java.util.Map$Entry.getKey(): java.lang.Object -> java.lang.String.substring(int,int): java.lang.String -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map$Entry.getValue(): java.lang.Object [CALL] -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.lang.Integer.valueOf(int): java.lang.Integer -> java.lang.reflect.Method.invoke(java.lang.Object,java.lang.Object[]): java.lang.Object [EXIT] -> java.util.Map$Entry.getKey(): java.lang.Object -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Iterator.hasNext(): boolean [EXIT]