org_apache_struts2_convention_PackageBasedActionConfigBuilderTest_java
org.apache.struts2.convention.DefaultClassFinder
private void readClassDef(String className) {
        block10: {
            if (!className.endsWith(".class")) {
                className = className.replace('.', '/') + ".class";
            }
            try {
                URL resource = this.classLoaderInterface.getResource(className);
                if (resource != null) {
                    try (InputStream in = resource.openStream();){
                        ClassReader classReader = new ClassReader(in);
                        classReader.accept(new InfoBuildingVisitor(this), 2);
                        break block10;
                    }
                }
                throw new StrutsException("Could not load " + className);
            }
            catch (IOException e) {
                throw new StrutsException("Could not load " + className, e);
            }
        }
    }
 -> java.lang.String.endsWith(java.lang.String): boolean -> java.lang.String.replace(char,char): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.net.URL.openStream(): java.io.InputStream -> java.io.InputStream.available(): int -> java.lang.Math.min(int,int): int -> java.io.InputStream.read(byte[],int,int): int -> java.io.ByteArrayOutputStream.write(byte[],int,int): void -> java.io.InputStream.read(byte[],int,int): int -> java.io.ByteArrayOutputStream.flush(): void -> java.io.ByteArrayOutputStream.close(): void -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.endsWith(java.lang.String): boolean -> java.lang.String.replace(char,char): java.lang.String -> java.lang.String.replace(char,char): java.lang.String -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object -> java.util.Map.get(java.lang.Object): java.lang.Object -> java.util.List.addAll(java.util.Collection): boolean -> java.util.List.addAll(java.util.Collection): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.util.List.add(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.io.InputStream.close(): void
 [CALL] -> java.lang.String.endsWith(java.lang.String): boolean -> java.lang.String.replace(char,char): java.lang.String -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.append(java.lang.String): java.lang.StringBuilder -> java.lang.StringBuilder.toString(): java.lang.String -> java.net.URL.openStream(): java.io.InputStream [CALL] [CALL] [CALL] -> java.io.InputStream.available(): int -> java.lang.Math.min(int,int): int [EXIT] -> java.io.InputStream.read(byte[],int,int): int -> java.io.ByteArrayOutputStream.write(byte[],int,int): void -> java.io.InputStream.read(byte[],int,int): int -> java.io.ByteArrayOutputStream.flush(): void -> java.io.ByteArrayOutputStream.close(): void [EXIT] [CALL] [CALL] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] -> java.lang.String.endsWith(java.lang.String): boolean [CALL] -> java.lang.String.replace(char,char): java.lang.String [EXIT] [CALL] -> java.lang.String.replace(char,char): java.lang.String [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.util.Map.put(java.lang.Object,java.lang.Object): java.lang.Object [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] -> java.util.Map.get(java.lang.Object): java.lang.Object [CALL] [EXIT] [CALL] [EXIT] -> java.util.List.addAll(java.util.Collection): boolean [CALL] [EXIT] -> java.util.List.addAll(java.util.Collection): boolean [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] -> java.util.List.add(java.lang.Object): boolean [CALL] [CALL] [CALL] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean -> java.lang.String.equals(java.lang.Object): boolean [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] -> java.lang.String.equals(java.lang.Object): boolean [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] -> java.io.InputStream.close(): void [EXIT]