public class org.eclipse.jdt.internal.launching.JavaSourceLookupUtil
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.launching.JavaSourceLookupUtil
  super_class: java.lang.Object
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.launching.JavaSourceLookupUtil this
         0: .line 45
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.eclipse.jdt.internal.launching.JavaSourceLookupUtil this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/launching/JavaSourceLookupUtil;

  public static org.eclipse.debug.core.sourcelookup.ISourceContainer[] translate(org.eclipse.jdt.launching.IRuntimeClasspathEntry[]);
    descriptor: ([Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;)[Lorg/eclipse/debug/core/sourcelookup/ISourceContainer;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] entries
         0: .line 55
            new java.util.ArrayList
            dup
            aload 0 /* entries */
            arraylength
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 1 /* containers */
        start local 1 // java.util.List containers
         1: .line 56
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 29
         3: .line 57
      StackMap locals: java.util.List int
      StackMap stack:
            aload 0 /* entries */
            iload 2 /* i */
            aaload
            astore 3 /* entry */
        start local 3 // org.eclipse.jdt.launching.IRuntimeClasspathEntry entry
         4: .line 58
            aload 3 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getType:()I
            tableswitch { // 1 - 2
                    1: 16
                    2: 5
              default: 28
          }
         5: .line 60
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry
      StackMap stack:
            aload 3 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.lastSegment:()Ljava/lang/String;
            ldc "jrt-fs.jar"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         6: .line 61
            aload 3 /* entry */
            aload 1 /* containers */
            invokestatic org.eclipse.jdt.internal.launching.JavaSourceLookupUtil.getPackageFragmentRootContainers:(Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;Ljava/util/List;)V
         7: .line 62
            goto 28
         8: .line 63
      StackMap locals:
      StackMap stack:
            aload 3 /* entry */
            invokestatic org.eclipse.jdt.internal.launching.JavaSourceLookupUtil.getPackageFragmentRoot:(Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;)Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            astore 4 /* root */
        start local 4 // org.eclipse.jdt.core.IPackageFragmentRoot root
         9: .line 64
            aload 4 /* root */
            ifnonnull 12
        10: .line 65
            aload 3 /* entry */
            aload 1 /* containers */
            invokestatic org.eclipse.jdt.internal.launching.JavaSourceLookupUtil.addSourceAttachment:(Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;Ljava/util/List;)V
        11: .line 66
            goto 28
        12: .line 67
      StackMap locals: org.eclipse.jdt.core.IPackageFragmentRoot
      StackMap stack:
            new org.eclipse.jdt.launching.sourcelookup.containers.PackageFragmentRootSourceContainer
            dup
            aload 4 /* root */
            invokespecial org.eclipse.jdt.launching.sourcelookup.containers.PackageFragmentRootSourceContainer.<init>:(Lorg/eclipse/jdt/core/IPackageFragmentRoot;)V
            astore 5 /* container */
        start local 5 // org.eclipse.debug.core.sourcelookup.ISourceContainer container
        13: .line 68
            aload 1 /* containers */
            aload 5 /* container */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 28
        14: .line 69
            aload 1 /* containers */
            aload 5 /* container */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // org.eclipse.debug.core.sourcelookup.ISourceContainer container
        end local 4 // org.eclipse.jdt.core.IPackageFragmentRoot root
        15: .line 73
            goto 28
        16: .line 75
      StackMap locals:
      StackMap stack:
            aload 3 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getResource:()Lorg/eclipse/core/resources/IResource;
            astore 4 /* resource */
        start local 4 // org.eclipse.core.resources.IResource resource
        17: .line 76
            aload 4 /* resource */
            ifnull 28
            aload 4 /* resource */
            invokeinterface org.eclipse.core.resources.IResource.getType:()I
            iconst_4
            if_icmpne 28
        18: .line 77
            aload 4 /* resource */
            checkcast org.eclipse.core.resources.IProject
            invokestatic org.eclipse.jdt.core.JavaCore.create:(Lorg/eclipse/core/resources/IProject;)Lorg/eclipse/jdt/core/IJavaProject;
            astore 5 /* javaProject */
        start local 5 // org.eclipse.jdt.core.IJavaProject javaProject
        19: .line 78
            aconst_null
            astore 6 /* container */
        start local 6 // org.eclipse.debug.core.sourcelookup.ISourceContainer container
        20: .line 79
            aload 5 /* javaProject */
            invokeinterface org.eclipse.jdt.core.IJavaProject.exists:()Z
            ifeq 23
        21: .line 80
            new org.eclipse.jdt.launching.sourcelookup.containers.JavaProjectSourceContainer
            dup
            aload 5 /* javaProject */
            invokespecial org.eclipse.jdt.launching.sourcelookup.containers.JavaProjectSourceContainer.<init>:(Lorg/eclipse/jdt/core/IJavaProject;)V
            astore 6 /* container */
        22: .line 81
            goto 25
      StackMap locals: org.eclipse.core.resources.IResource org.eclipse.jdt.core.IJavaProject org.eclipse.debug.core.sourcelookup.ISourceContainer
      StackMap stack:
        23: aload 4 /* resource */
            invokeinterface org.eclipse.core.resources.IResource.exists:()Z
            ifeq 25
        24: .line 82
            new org.eclipse.debug.core.sourcelookup.containers.ProjectSourceContainer
            dup
            aload 4 /* resource */
            checkcast org.eclipse.core.resources.IProject
            iconst_0
            invokespecial org.eclipse.debug.core.sourcelookup.containers.ProjectSourceContainer.<init>:(Lorg/eclipse/core/resources/IProject;Z)V
            astore 6 /* container */
        25: .line 84
      StackMap locals:
      StackMap stack:
            aload 6 /* container */
            ifnull 28
            aload 1 /* containers */
            aload 6 /* container */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 28
        26: .line 85
            aload 1 /* containers */
            aload 6 /* container */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // org.eclipse.debug.core.sourcelookup.ISourceContainer container
        end local 5 // org.eclipse.jdt.core.IJavaProject javaProject
        27: .line 88
            goto 28
        end local 4 // org.eclipse.core.resources.IResource resource
        end local 3 // org.eclipse.jdt.launching.IRuntimeClasspathEntry entry
        28: .line 56
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry[] java.util.List int
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 2 /* i */
            aload 0 /* entries */
            arraylength
            if_icmplt 3
        end local 2 // int i
        30: .line 94
            aload 1 /* containers */
            aload 1 /* containers */
            invokeinterface java.util.List.size:()I
            anewarray org.eclipse.debug.core.sourcelookup.ISourceContainer
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.eclipse.debug.core.sourcelookup.ISourceContainer[]
            areturn
        end local 1 // java.util.List containers
        end local 0 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] entries
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   31     0      entries  [Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            1   31     1   containers  Ljava/util/List<Lorg/eclipse/debug/core/sourcelookup/ISourceContainer;>;
            2   30     2            i  I
            4   28     3        entry  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            9   15     4         root  Lorg/eclipse/jdt/core/IPackageFragmentRoot;
           13   15     5    container  Lorg/eclipse/debug/core/sourcelookup/ISourceContainer;
           17   28     4     resource  Lorg/eclipse/core/resources/IResource;
           19   27     5  javaProject  Lorg/eclipse/jdt/core/IJavaProject;
           20   27     6    container  Lorg/eclipse/debug/core/sourcelookup/ISourceContainer;
    MethodParameters:
         Name  Flags
      entries  

  private static void addSourceAttachment(org.eclipse.jdt.launching.IRuntimeClasspathEntry, java.util.List<org.eclipse.debug.core.sourcelookup.ISourceContainer>);
    descriptor: (Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;Ljava/util/List;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.launching.IRuntimeClasspathEntry entry
        start local 1 // java.util.List containers
         0: .line 105
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getSourceAttachmentLocation:()Ljava/lang/String;
            astore 2 /* path */
        start local 2 // java.lang.String path
         1: .line 106
            aconst_null
            astore 3 /* container */
        start local 3 // org.eclipse.debug.core.sourcelookup.ISourceContainer container
         2: .line 107
            aload 2 /* path */
            ifnonnull 4
         3: .line 109
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getLocation:()Ljava/lang/String;
            astore 2 /* path */
         4: .line 111
      StackMap locals: java.lang.String org.eclipse.debug.core.sourcelookup.ISourceContainer
      StackMap stack:
            aload 2 /* path */
            ifnull 16
         5: .line 113
            new java.io.File
            dup
            aload 2 /* path */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 4 /* file */
        start local 4 // java.io.File file
         6: .line 114
            aload 4 /* file */
            invokevirtual java.io.File.isDirectory:()Z
            ifeq 13
         7: .line 115
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getResource:()Lorg/eclipse/core/resources/IResource;
            astore 5 /* resource */
        start local 5 // org.eclipse.core.resources.IResource resource
         8: .line 116
            aload 5 /* resource */
            instanceof org.eclipse.core.resources.IContainer
            ifeq 11
         9: .line 117
            new org.eclipse.debug.core.sourcelookup.containers.FolderSourceContainer
            dup
            aload 5 /* resource */
            checkcast org.eclipse.core.resources.IContainer
            iconst_0
            invokespecial org.eclipse.debug.core.sourcelookup.containers.FolderSourceContainer.<init>:(Lorg/eclipse/core/resources/IContainer;Z)V
            astore 3 /* container */
        10: .line 118
            goto 14
        11: .line 119
      StackMap locals: java.io.File org.eclipse.core.resources.IResource
      StackMap stack:
            new org.eclipse.debug.core.sourcelookup.containers.DirectorySourceContainer
            dup
            aload 4 /* file */
            iconst_0
            invokespecial org.eclipse.debug.core.sourcelookup.containers.DirectorySourceContainer.<init>:(Ljava/io/File;Z)V
            astore 3 /* container */
        end local 5 // org.eclipse.core.resources.IResource resource
        12: .line 121
            goto 14
        13: .line 122
      StackMap locals:
      StackMap stack:
            new org.eclipse.debug.core.sourcelookup.containers.ExternalArchiveSourceContainer
            dup
            aload 2 /* path */
            iconst_1
            invokespecial org.eclipse.debug.core.sourcelookup.containers.ExternalArchiveSourceContainer.<init>:(Ljava/lang/String;Z)V
            astore 3 /* container */
        14: .line 124
      StackMap locals:
      StackMap stack:
            aload 1 /* containers */
            aload 3 /* container */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 16
        15: .line 125
            aload 1 /* containers */
            aload 3 /* container */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.io.File file
        16: .line 128
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.eclipse.debug.core.sourcelookup.ISourceContainer container
        end local 2 // java.lang.String path
        end local 1 // java.util.List containers
        end local 0 // org.eclipse.jdt.launching.IRuntimeClasspathEntry entry
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0       entry  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            0   17     1  containers  Ljava/util/List<Lorg/eclipse/debug/core/sourcelookup/ISourceContainer;>;
            1   17     2        path  Ljava/lang/String;
            2   17     3   container  Lorg/eclipse/debug/core/sourcelookup/ISourceContainer;
            6   16     4        file  Ljava/io/File;
            8   12     5    resource  Lorg/eclipse/core/resources/IResource;
    Signature: (Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;Ljava/util/List<Lorg/eclipse/debug/core/sourcelookup/ISourceContainer;>;)V
    MethodParameters:
            Name  Flags
      entry       
      containers  

  private static boolean isSourceAttachmentEqual(org.eclipse.jdt.core.IPackageFragmentRoot, org.eclipse.jdt.launching.IRuntimeClasspathEntry);
    descriptor: (Lorg/eclipse/jdt/core/IPackageFragmentRoot;Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.core.IPackageFragmentRoot root
        start local 1 // org.eclipse.jdt.launching.IRuntimeClasspathEntry entry
         0: .line 146
            aload 1 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getSourceAttachmentPath:()Lorg/eclipse/core/runtime/IPath;
            astore 2 /* entryPath */
        start local 2 // org.eclipse.core.runtime.IPath entryPath
         1: .line 147
            aload 2 /* entryPath */
            ifnonnull 3
         2: .line 148
            iconst_1
            ireturn
         3: .line 150
      StackMap locals: org.eclipse.core.runtime.IPath
      StackMap stack:
            aload 0 /* root */
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.getSourceAttachmentPath:()Lorg/eclipse/core/runtime/IPath;
            astore 3 /* rootPath */
        start local 3 // org.eclipse.core.runtime.IPath rootPath
         4: .line 151
            aload 3 /* rootPath */
            ifnonnull 6
         5: .line 153
            iconst_0
            ireturn
         6: .line 155
      StackMap locals: org.eclipse.core.runtime.IPath
      StackMap stack:
            aload 3 /* rootPath */
            aload 2 /* entryPath */
            invokeinterface org.eclipse.core.runtime.IPath.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 3 // org.eclipse.core.runtime.IPath rootPath
        end local 2 // org.eclipse.core.runtime.IPath entryPath
        end local 1 // org.eclipse.jdt.launching.IRuntimeClasspathEntry entry
        end local 0 // org.eclipse.jdt.core.IPackageFragmentRoot root
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       root  Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            0    7     1      entry  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            1    7     2  entryPath  Lorg/eclipse/core/runtime/IPath;
            4    7     3   rootPath  Lorg/eclipse/core/runtime/IPath;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
       Name  Flags
      root   
      entry  

  private static org.eclipse.jdt.core.IPackageFragmentRoot getPackageFragmentRoot(org.eclipse.jdt.launching.IRuntimeClasspathEntry);
    descriptor: (Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;)Lorg/eclipse/jdt/core/IPackageFragmentRoot;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=11, args_size=1
        start local 0 // org.eclipse.jdt.launching.IRuntimeClasspathEntry entry
         0: .line 168
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getResource:()Lorg/eclipse/core/resources/IResource;
            astore 1 /* resource */
        start local 1 // org.eclipse.core.resources.IResource resource
         1: .line 169
            aload 1 /* resource */
            ifnull 11
         2: .line 171
            aload 1 /* resource */
            invokeinterface org.eclipse.core.resources.IResource.getProject:()Lorg/eclipse/core/resources/IProject;
            astore 2 /* project */
        start local 2 // org.eclipse.core.resources.IProject project
         3: .line 172
            aload 2 /* project */
            invokestatic org.eclipse.jdt.core.JavaCore.create:(Lorg/eclipse/core/resources/IProject;)Lorg/eclipse/jdt/core/IJavaProject;
            astore 3 /* jp */
        start local 3 // org.eclipse.jdt.core.IJavaProject jp
         4: .line 174
            aload 2 /* project */
            invokeinterface org.eclipse.core.resources.IProject.isOpen:()Z
            ifeq 11
            aload 3 /* jp */
            invokeinterface org.eclipse.jdt.core.IJavaProject.exists:()Z
            ifeq 11
         5: .line 175
            aload 3 /* jp */
            aload 1 /* resource */
            invokeinterface org.eclipse.core.resources.IResource.getFullPath:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.jdt.core.IJavaProject.findPackageFragmentRoot:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            astore 4 /* root */
        start local 4 // org.eclipse.jdt.core.IPackageFragmentRoot root
         6: .line 176
            aload 4 /* root */
            ifnull 11
            aload 4 /* root */
            aload 0 /* entry */
            invokestatic org.eclipse.jdt.internal.launching.JavaSourceLookupUtil.isSourceAttachmentEqual:(Lorg/eclipse/jdt/core/IPackageFragmentRoot;Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;)Z
            ifeq 11
         7: .line 178
            aload 4 /* root */
         8: areturn
        end local 4 // org.eclipse.jdt.core.IPackageFragmentRoot root
         9: .line 181
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry org.eclipse.core.resources.IResource org.eclipse.core.resources.IProject org.eclipse.jdt.core.IJavaProject
      StackMap stack: org.eclipse.jdt.core.JavaModelException
            astore 4 /* e */
        start local 4 // org.eclipse.jdt.core.JavaModelException e
        10: .line 182
            aload 4 /* e */
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.log:(Ljava/lang/Throwable;)V
        end local 4 // org.eclipse.jdt.core.JavaModelException e
        end local 3 // org.eclipse.jdt.core.IJavaProject jp
        end local 2 // org.eclipse.core.resources.IProject project
        11: .line 188
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            invokeinterface org.eclipse.core.resources.IWorkspace.getRoot:()Lorg/eclipse/core/resources/IWorkspaceRoot;
            invokestatic org.eclipse.jdt.core.JavaCore.create:(Lorg/eclipse/core/resources/IWorkspaceRoot;)Lorg/eclipse/jdt/core/IJavaModel;
            astore 2 /* model */
        start local 2 // org.eclipse.jdt.core.IJavaModel model
        12: .line 189
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            astore 3 /* entryPath */
        start local 3 // org.eclipse.core.runtime.IPath entryPath
        13: .line 191
            aload 2 /* model */
            invokeinterface org.eclipse.jdt.core.IJavaModel.getJavaProjects:()[Lorg/eclipse/jdt/core/IJavaProject;
            astore 4 /* jps */
        start local 4 // org.eclipse.jdt.core.IJavaProject[] jps
        14: .line 192
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        15: goto 29
        16: .line 193
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry org.eclipse.core.resources.IResource org.eclipse.jdt.core.IJavaModel org.eclipse.core.runtime.IPath org.eclipse.jdt.core.IJavaProject[] int
      StackMap stack:
            aload 4 /* jps */
            iload 5 /* i */
            aaload
            astore 6 /* jp */
        start local 6 // org.eclipse.jdt.core.IJavaProject jp
        17: .line 194
            aload 6 /* jp */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getProject:()Lorg/eclipse/core/resources/IProject;
            astore 7 /* p */
        start local 7 // org.eclipse.core.resources.IProject p
        18: .line 195
            aload 7 /* p */
            invokeinterface org.eclipse.core.resources.IProject.isOpen:()Z
            ifeq 28
        19: .line 196
            aload 6 /* jp */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getPackageFragmentRoots:()[Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            astore 8 /* allRoots */
        start local 8 // org.eclipse.jdt.core.IPackageFragmentRoot[] allRoots
        20: .line 197
            iconst_0
            istore 9 /* j */
        start local 9 // int j
        21: goto 27
        22: .line 198
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry org.eclipse.core.resources.IResource org.eclipse.jdt.core.IJavaModel org.eclipse.core.runtime.IPath org.eclipse.jdt.core.IJavaProject[] int org.eclipse.jdt.core.IJavaProject org.eclipse.core.resources.IProject org.eclipse.jdt.core.IPackageFragmentRoot[] int
      StackMap stack:
            aload 8 /* allRoots */
            iload 9 /* j */
            aaload
            astore 10 /* root */
        start local 10 // org.eclipse.jdt.core.IPackageFragmentRoot root
        23: .line 199
            aload 10 /* root */
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.getPath:()Lorg/eclipse/core/runtime/IPath;
            aload 3 /* entryPath */
            invokeinterface org.eclipse.core.runtime.IPath.equals:(Ljava/lang/Object;)Z
            ifeq 26
            aload 10 /* root */
            aload 0 /* entry */
            invokestatic org.eclipse.jdt.internal.launching.JavaSourceLookupUtil.isSourceAttachmentEqual:(Lorg/eclipse/jdt/core/IPackageFragmentRoot;Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;)Z
            ifeq 26
        24: .line 201
            aload 10 /* root */
        25: areturn
        end local 10 // org.eclipse.jdt.core.IPackageFragmentRoot root
        26: .line 197
      StackMap locals:
      StackMap stack:
            iinc 9 /* j */ 1
      StackMap locals:
      StackMap stack:
        27: iload 9 /* j */
            aload 8 /* allRoots */
            arraylength
            if_icmplt 22
        end local 9 // int j
        end local 8 // org.eclipse.jdt.core.IPackageFragmentRoot[] allRoots
        end local 7 // org.eclipse.core.resources.IProject p
        end local 6 // org.eclipse.jdt.core.IJavaProject jp
        28: .line 192
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry org.eclipse.core.resources.IResource org.eclipse.jdt.core.IJavaModel org.eclipse.core.runtime.IPath org.eclipse.jdt.core.IJavaProject[] int
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 5 /* i */
            aload 4 /* jps */
            arraylength
            if_icmplt 16
        end local 5 // int i
        end local 4 // org.eclipse.jdt.core.IJavaProject[] jps
        30: .line 206
            goto 33
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry org.eclipse.core.resources.IResource org.eclipse.jdt.core.IJavaModel org.eclipse.core.runtime.IPath
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        31: astore 4 /* e */
        start local 4 // org.eclipse.jdt.core.JavaModelException e
        32: .line 207
            aload 4 /* e */
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.log:(Ljava/lang/Throwable;)V
        end local 4 // org.eclipse.jdt.core.JavaModelException e
        33: .line 209
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // org.eclipse.core.runtime.IPath entryPath
        end local 2 // org.eclipse.jdt.core.IJavaModel model
        end local 1 // org.eclipse.core.resources.IResource resource
        end local 0 // org.eclipse.jdt.launching.IRuntimeClasspathEntry entry
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   34     0      entry  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            1   34     1   resource  Lorg/eclipse/core/resources/IResource;
            3   11     2    project  Lorg/eclipse/core/resources/IProject;
            4   11     3         jp  Lorg/eclipse/jdt/core/IJavaProject;
            6    9     4       root  Lorg/eclipse/jdt/core/IPackageFragmentRoot;
           10   11     4          e  Lorg/eclipse/jdt/core/JavaModelException;
           12   34     2      model  Lorg/eclipse/jdt/core/IJavaModel;
           13   34     3  entryPath  Lorg/eclipse/core/runtime/IPath;
           14   30     4        jps  [Lorg/eclipse/jdt/core/IJavaProject;
           15   30     5          i  I
           17   28     6         jp  Lorg/eclipse/jdt/core/IJavaProject;
           18   28     7          p  Lorg/eclipse/core/resources/IProject;
           20   28     8   allRoots  [Lorg/eclipse/jdt/core/IPackageFragmentRoot;
           21   28     9          j  I
           23   26    10       root  Lorg/eclipse/jdt/core/IPackageFragmentRoot;
           32   33     4          e  Lorg/eclipse/jdt/core/JavaModelException;
      Exception table:
        from    to  target  type
           4     8       9  Class org.eclipse.jdt.core.JavaModelException
          13    25      31  Class org.eclipse.jdt.core.JavaModelException
          26    30      31  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
       Name  Flags
      entry  

  private static void getPackageFragmentRootContainers(org.eclipse.jdt.launching.IRuntimeClasspathEntry, java.util.List<org.eclipse.debug.core.sourcelookup.ISourceContainer>);
    descriptor: (Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;Ljava/util/List;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=13, args_size=2
        start local 0 // org.eclipse.jdt.launching.IRuntimeClasspathEntry entry
        start local 1 // java.util.List containers
         0: .line 224
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            invokeinterface org.eclipse.core.resources.IWorkspace.getRoot:()Lorg/eclipse/core/resources/IWorkspaceRoot;
            invokestatic org.eclipse.jdt.core.JavaCore.create:(Lorg/eclipse/core/resources/IWorkspaceRoot;)Lorg/eclipse/jdt/core/IJavaModel;
            astore 2 /* model */
        start local 2 // org.eclipse.jdt.core.IJavaModel model
         1: .line 225
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            astore 3 /* entryPath */
        start local 3 // org.eclipse.core.runtime.IPath entryPath
         2: .line 226
            iconst_0
            istore 4 /* found */
        start local 4 // boolean found
         3: .line 228
            aload 2 /* model */
            invokeinterface org.eclipse.jdt.core.IJavaModel.getJavaProjects:()[Lorg/eclipse/jdt/core/IJavaProject;
            astore 5 /* jps */
        start local 5 // org.eclipse.jdt.core.IJavaProject[] jps
         4: .line 229
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 21
         6: .line 230
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry java.util.List org.eclipse.jdt.core.IJavaModel org.eclipse.core.runtime.IPath int org.eclipse.jdt.core.IJavaProject[] int
      StackMap stack:
            aload 5 /* jps */
            iload 6 /* i */
            aaload
            astore 7 /* jp */
        start local 7 // org.eclipse.jdt.core.IJavaProject jp
         7: .line 231
            aload 7 /* jp */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getProject:()Lorg/eclipse/core/resources/IProject;
            astore 8 /* p */
        start local 8 // org.eclipse.core.resources.IProject p
         8: .line 232
            aload 8 /* p */
            invokeinterface org.eclipse.core.resources.IProject.isOpen:()Z
            ifeq 20
         9: .line 233
            aload 7 /* jp */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getPackageFragmentRoots:()[Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            astore 9 /* allRoots */
        start local 9 // org.eclipse.jdt.core.IPackageFragmentRoot[] allRoots
        10: .line 234
            iconst_0
            istore 10 /* j */
        start local 10 // int j
        11: goto 19
        12: .line 235
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry java.util.List org.eclipse.jdt.core.IJavaModel org.eclipse.core.runtime.IPath int org.eclipse.jdt.core.IJavaProject[] int org.eclipse.jdt.core.IJavaProject org.eclipse.core.resources.IProject org.eclipse.jdt.core.IPackageFragmentRoot[] int
      StackMap stack:
            aload 9 /* allRoots */
            iload 10 /* j */
            aaload
            astore 11 /* root */
        start local 11 // org.eclipse.jdt.core.IPackageFragmentRoot root
        13: .line 236
            aload 11 /* root */
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.getPath:()Lorg/eclipse/core/runtime/IPath;
            aload 3 /* entryPath */
            invokeinterface org.eclipse.core.runtime.IPath.equals:(Ljava/lang/Object;)Z
            ifeq 18
            aload 11 /* root */
            aload 0 /* entry */
            invokestatic org.eclipse.jdt.internal.launching.JavaSourceLookupUtil.isSourceAttachmentEqual:(Lorg/eclipse/jdt/core/IPackageFragmentRoot;Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;)Z
            ifeq 18
        14: .line 237
            new org.eclipse.jdt.launching.sourcelookup.containers.PackageFragmentRootSourceContainer
            dup
            aload 11 /* root */
            invokespecial org.eclipse.jdt.launching.sourcelookup.containers.PackageFragmentRootSourceContainer.<init>:(Lorg/eclipse/jdt/core/IPackageFragmentRoot;)V
            astore 12 /* container */
        start local 12 // org.eclipse.jdt.launching.sourcelookup.containers.PackageFragmentRootSourceContainer container
        15: .line 238
            aload 1 /* containers */
            aload 12 /* container */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 18
        16: .line 239
            aload 1 /* containers */
            aload 12 /* container */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        17: .line 240
            iconst_1
            istore 4 /* found */
        end local 12 // org.eclipse.jdt.launching.sourcelookup.containers.PackageFragmentRootSourceContainer container
        end local 11 // org.eclipse.jdt.core.IPackageFragmentRoot root
        18: .line 234
      StackMap locals:
      StackMap stack:
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        19: iload 10 /* j */
            aload 9 /* allRoots */
            arraylength
            if_icmplt 12
        end local 10 // int j
        end local 9 // org.eclipse.jdt.core.IPackageFragmentRoot[] allRoots
        end local 8 // org.eclipse.core.resources.IProject p
        end local 7 // org.eclipse.jdt.core.IJavaProject jp
        20: .line 229
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry java.util.List org.eclipse.jdt.core.IJavaModel org.eclipse.core.runtime.IPath int org.eclipse.jdt.core.IJavaProject[] int
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 6 /* i */
            aload 5 /* jps */
            arraylength
            if_icmplt 6
        end local 6 // int i
        end local 5 // org.eclipse.jdt.core.IJavaProject[] jps
        22: .line 246
            goto 25
        23: .line 247
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry java.util.List org.eclipse.jdt.core.IJavaModel org.eclipse.core.runtime.IPath int
      StackMap stack: org.eclipse.jdt.core.JavaModelException
            astore 5 /* e */
        start local 5 // org.eclipse.jdt.core.JavaModelException e
        24: .line 248
            aload 5 /* e */
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.log:(Ljava/lang/Throwable;)V
        end local 5 // org.eclipse.jdt.core.JavaModelException e
        25: .line 251
      StackMap locals:
      StackMap stack:
            iload 4 /* found */
            ifne 27
        26: .line 252
            aload 0 /* entry */
            aload 1 /* containers */
            invokestatic org.eclipse.jdt.internal.launching.JavaSourceLookupUtil.addSourceAttachment:(Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;Ljava/util/List;)V
        27: .line 254
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean found
        end local 3 // org.eclipse.core.runtime.IPath entryPath
        end local 2 // org.eclipse.jdt.core.IJavaModel model
        end local 1 // java.util.List containers
        end local 0 // org.eclipse.jdt.launching.IRuntimeClasspathEntry entry
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   28     0       entry  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            0   28     1  containers  Ljava/util/List<Lorg/eclipse/debug/core/sourcelookup/ISourceContainer;>;
            1   28     2       model  Lorg/eclipse/jdt/core/IJavaModel;
            2   28     3   entryPath  Lorg/eclipse/core/runtime/IPath;
            3   28     4       found  Z
            4   22     5         jps  [Lorg/eclipse/jdt/core/IJavaProject;
            5   22     6           i  I
            7   20     7          jp  Lorg/eclipse/jdt/core/IJavaProject;
            8   20     8           p  Lorg/eclipse/core/resources/IProject;
           10   20     9    allRoots  [Lorg/eclipse/jdt/core/IPackageFragmentRoot;
           11   20    10           j  I
           13   18    11        root  Lorg/eclipse/jdt/core/IPackageFragmentRoot;
           15   18    12   container  Lorg/eclipse/jdt/launching/sourcelookup/containers/PackageFragmentRootSourceContainer;
           24   25     5           e  Lorg/eclipse/jdt/core/JavaModelException;
      Exception table:
        from    to  target  type
           3    22      23  Class org.eclipse.jdt.core.JavaModelException
    Signature: (Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;Ljava/util/List<Lorg/eclipse/debug/core/sourcelookup/ISourceContainer;>;)V
    MethodParameters:
            Name  Flags
      entry       
      containers  
}
SourceFile: "JavaSourceLookupUtil.java"