org_aspectj_ajdt_internal_core_builder_AjBuildManagerTest_java
org.aspectj.org.eclipse.jdt.internal.compiler.batch.ModuleFinder
private static IModule extractModuleFromArchive(File file, FileSystem.Classpath pathEntry, String path, String release) {
        ZipFile zipFile;
        block13: {
            ClassFileReader reader;
            IModule module;
            String releasePath;
            ZipEntry entry;
            zipFile = null;
            zipFile = new ZipFile(file);
            if (release != null && (entry = zipFile.getEntry(releasePath = "META-INF/versions/" + release + "/" + path)) != null) {
                path = releasePath;
            }
            if ((module = ModuleFinder.getModule(reader = ClassFileReader.read(zipFile, path))) == null) break block13;
            IBinaryModule iBinaryModule = reader.getModuleDeclaration();
            if (zipFile == null) return iBinaryModule;
            try {
                zipFile.close();
                return iBinaryModule;
            }
            catch (IOException iOException) {}
            return iBinaryModule;
        }
        if (zipFile == null) return null;
        try {
            zipFile.close();
            return null;
        }
        catch (IOException iOException) {}
        return null;
        catch (IOException | ClassFormatException exception) {
            try {
                if (zipFile == null) return null;
            }
            catch (Throwable throwable) {
                if (zipFile == null) throw throwable;
                try {
                    zipFile.close();
                    throw throwable;
                }
                catch (IOException iOException) {}
                throw throwable;
            }
            try {
                zipFile.close();
                return null;
            }
            catch (IOException iOException) {}
            return null;
        }
    }
 -> java.util.zip.ZipFile.getEntry(java.lang.String): java.util.zip.ZipEntry -> java.util.zip.ZipFile.getInputStream(java.util.zip.ZipEntry): java.io.InputStream -> java.util.zip.ZipEntry.getSize(): long -> java.io.InputStream.read(byte[],int,int): int -> java.io.InputStream.close(): void -> java.lang.String.toCharArray(): char[] -> java.util.Arrays.equals(char[],char[]): boolean -> java.util.Arrays.equals(char[],char[]): boolean -> java.util.Arrays.equals(char[],char[]): boolean -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.lang.Object.getClass(): java.lang.Class -> java.util.Arrays.equals(char[],char[]): boolean -> java.util.Arrays.equals(char[],char[]): boolean -> java.util.Arrays.equals(char[],char[]): boolean -> java.util.Arrays.equals(char[],char[]): boolean -> java.util.zip.ZipFile.close(): void
 [CALL] [CALL] [CALL] -> java.util.zip.ZipFile.getEntry(java.lang.String): java.util.zip.ZipEntry [CALL] -> java.util.zip.ZipFile.getInputStream(java.util.zip.ZipEntry): java.io.InputStream -> java.util.zip.ZipEntry.getSize(): long [CALL] -> java.io.InputStream.read(byte[],int,int): int [EXIT] -> java.io.InputStream.close(): void [EXIT] -> java.lang.String.toCharArray(): char[] [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] [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] [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] [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] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [CALL] [CALL] [CALL] [EXIT] [EXIT] [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] [CALL] [EXIT] -> java.lang.Object.getClass(): java.lang.Class [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.Object.getClass(): java.lang.Class [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] -> java.lang.Object.getClass(): java.lang.Class [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [CALL] -> java.util.Arrays.equals(char[],char[]): boolean [EXIT] [CALL] [EXIT] [EXIT] [EXIT] [EXIT] [EXIT] [CALL] [CALL] [EXIT] [EXIT] [CALL] [EXIT] -> java.util.zip.ZipFile.close(): void [EXIT]