public class org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator implements org.eclipse.debug.core.model.IPersistableSourceLocator
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator
  super_class: java.lang.Object
{
  public static final java.lang.String ID_JAVA_SOURCE_LOCATOR;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation[] fLocations;
    descriptor: [Lorg/eclipse/jdt/launching/sourcelookup/IJavaSourceLocation;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 108
            new java.lang.StringBuilder
            dup
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.getUniqueIdentifier:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".javaSourceLocator"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putstatic org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator.ID_JAVA_SOURCE_LOCATOR:Ljava/lang/String;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator this
         0: .line 118
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 119
            aload 0 /* this */
            iconst_0
            anewarray org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation
            invokevirtual org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator.setSourceLocations:([Lorg/eclipse/jdt/launching/sourcelookup/IJavaSourceLocation;)V
         2: .line 120
            return
        end local 0 // org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/launching/sourcelookup/JavaSourceLocator;

  public void <init>(org.eclipse.jdt.core.IJavaProject[], boolean);
    descriptor: ([Lorg/eclipse/jdt/core/IJavaProject;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=11, args_size=3
        start local 0 // org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator this
        start local 1 // org.eclipse.jdt.core.IJavaProject[] projects
        start local 2 // boolean includeRequired
         0: .line 132
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 133
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* requiredProjects */
        start local 3 // java.util.ArrayList requiredProjects
         2: .line 134
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 10
         4: .line 135
      StackMap locals: org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator org.eclipse.jdt.core.IJavaProject[] int java.util.ArrayList int
      StackMap stack:
            iload 2 /* includeRequired */
            ifeq 7
         5: .line 136
            aload 1 /* projects */
            iload 4 /* i */
            aaload
            aload 3 /* requiredProjects */
            invokestatic org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator.collectRequiredProjects:(Lorg/eclipse/jdt/core/IJavaProject;Ljava/util/ArrayList;)V
         6: .line 137
            goto 9
         7: .line 138
      StackMap locals:
      StackMap stack:
            aload 3 /* requiredProjects */
            aload 1 /* projects */
            iload 4 /* i */
            aaload
            invokevirtual java.util.ArrayList.contains:(Ljava/lang/Object;)Z
            ifne 9
         8: .line 139
            aload 3 /* requiredProjects */
            aload 1 /* projects */
            iload 4 /* i */
            aaload
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         9: .line 134
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 4 /* i */
            aload 1 /* projects */
            arraylength
            if_icmplt 4
        end local 4 // int i
        11: .line 145
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 4 /* external */
        start local 4 // java.util.HashMap external
        12: .line 146
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* list */
        start local 5 // java.util.ArrayList list
        13: .line 148
            aload 3 /* requiredProjects */
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 6 /* iter */
        start local 6 // java.util.Iterator iter
        14: .line 149
            goto 28
        15: .line 150
      StackMap locals: org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator org.eclipse.jdt.core.IJavaProject[] int java.util.ArrayList java.util.HashMap java.util.ArrayList java.util.Iterator
      StackMap stack:
            aload 6 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.IJavaProject
            astore 7 /* p */
        start local 7 // org.eclipse.jdt.core.IJavaProject p
        16: .line 151
            aload 7 /* p */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getPackageFragmentRoots:()[Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            astore 8 /* roots */
        start local 8 // org.eclipse.jdt.core.IPackageFragmentRoot[] roots
        17: .line 152
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        18: goto 27
        19: .line 153
      StackMap locals: org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.core.IPackageFragmentRoot[] int
      StackMap stack:
            aload 8 /* roots */
            iload 9 /* i */
            aaload
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.isExternal:()Z
            ifeq 25
        20: .line 154
            aload 8 /* roots */
            iload 9 /* i */
            aaload
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.getPath:()Lorg/eclipse/core/runtime/IPath;
            astore 10 /* location */
        start local 10 // org.eclipse.core.runtime.IPath location
        21: .line 155
            aload 4 /* external */
            aload 10 /* location */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 26
        22: .line 156
            aload 4 /* external */
            aload 10 /* location */
            aload 10 /* location */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        23: .line 157
            aload 5 /* list */
            new org.eclipse.jdt.launching.sourcelookup.PackageFragmentRootSourceLocation
            dup
            aload 8 /* roots */
            iload 9 /* i */
            aaload
            invokespecial org.eclipse.jdt.launching.sourcelookup.PackageFragmentRootSourceLocation.<init>:(Lorg/eclipse/jdt/core/IPackageFragmentRoot;)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // org.eclipse.core.runtime.IPath location
        24: .line 159
            goto 26
        25: .line 160
      StackMap locals:
      StackMap stack:
            aload 5 /* list */
            new org.eclipse.jdt.launching.sourcelookup.PackageFragmentRootSourceLocation
            dup
            aload 8 /* roots */
            iload 9 /* i */
            aaload
            invokespecial org.eclipse.jdt.launching.sourcelookup.PackageFragmentRootSourceLocation.<init>:(Lorg/eclipse/jdt/core/IPackageFragmentRoot;)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        26: .line 152
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 9 /* i */
            aload 8 /* roots */
            arraylength
            if_icmplt 19
        end local 9 // int i
        end local 8 // org.eclipse.jdt.core.IPackageFragmentRoot[] roots
        end local 7 // org.eclipse.jdt.core.IJavaProject p
        28: .line 149
      StackMap locals:
      StackMap stack:
            aload 6 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        29: .line 164
            aload 5 /* list */
            aload 5 /* list */
            invokevirtual java.util.ArrayList.size:()I
            anewarray org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation[]
            astore 7 /* locations */
        start local 7 // org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation[] locations
        30: .line 165
            aload 0 /* this */
            aload 7 /* locations */
            invokevirtual org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator.setSourceLocations:([Lorg/eclipse/jdt/launching/sourcelookup/IJavaSourceLocation;)V
        31: .line 166
            return
        end local 7 // org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation[] locations
        end local 6 // java.util.Iterator iter
        end local 5 // java.util.ArrayList list
        end local 4 // java.util.HashMap external
        end local 3 // java.util.ArrayList requiredProjects
        end local 2 // boolean includeRequired
        end local 1 // org.eclipse.jdt.core.IJavaProject[] projects
        end local 0 // org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   32     0              this  Lorg/eclipse/jdt/launching/sourcelookup/JavaSourceLocator;
            0   32     1          projects  [Lorg/eclipse/jdt/core/IJavaProject;
            0   32     2   includeRequired  Z
            2   32     3  requiredProjects  Ljava/util/ArrayList<Lorg/eclipse/jdt/core/IJavaProject;>;
            3   11     4                 i  I
           12   32     4          external  Ljava/util/HashMap<Lorg/eclipse/core/runtime/IPath;Lorg/eclipse/core/runtime/IPath;>;
           13   32     5              list  Ljava/util/ArrayList<Lorg/eclipse/jdt/launching/sourcelookup/PackageFragmentRootSourceLocation;>;
           14   32     6              iter  Ljava/util/Iterator<Lorg/eclipse/jdt/core/IJavaProject;>;
           16   28     7                 p  Lorg/eclipse/jdt/core/IJavaProject;
           17   28     8             roots  [Lorg/eclipse/jdt/core/IPackageFragmentRoot;
           18   28     9                 i  I
           21   24    10          location  Lorg/eclipse/core/runtime/IPath;
           30   32     7         locations  [Lorg/eclipse/jdt/launching/sourcelookup/IJavaSourceLocation;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
                 Name  Flags
      projects         
      includeRequired  

  public void <init>(org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation[]);
    descriptor: ([Lorg/eclipse/jdt/launching/sourcelookup/IJavaSourceLocation;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator this
        start local 1 // org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation[] locations
         0: .line 175
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 176
            aload 0 /* this */
            aload 1 /* locations */
            invokevirtual org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator.setSourceLocations:([Lorg/eclipse/jdt/launching/sourcelookup/IJavaSourceLocation;)V
         2: .line 177
            return
        end local 1 // org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation[] locations
        end local 0 // org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/eclipse/jdt/launching/sourcelookup/JavaSourceLocator;
            0    3     1  locations  [Lorg/eclipse/jdt/launching/sourcelookup/IJavaSourceLocation;
    MethodParameters:
           Name  Flags
      locations  

  public void <init>(org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator this
        start local 1 // org.eclipse.jdt.core.IJavaProject project
         0: .line 187
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 188
            aload 0 /* this */
            aload 1 /* project */
            invokestatic org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator.getDefaultSourceLocations:(Lorg/eclipse/jdt/core/IJavaProject;)[Lorg/eclipse/jdt/launching/sourcelookup/IJavaSourceLocation;
            invokevirtual org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator.setSourceLocations:([Lorg/eclipse/jdt/launching/sourcelookup/IJavaSourceLocation;)V
         2: .line 189
            return
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/eclipse/jdt/launching/sourcelookup/JavaSourceLocator;
            0    3     1  project  Lorg/eclipse/jdt/core/IJavaProject;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
         Name  Flags
      project  

  public void setSourceLocations(org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation[]);
    descriptor: ([Lorg/eclipse/jdt/launching/sourcelookup/IJavaSourceLocation;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator this
        start local 1 // org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation[] locations
         0: .line 199
            aload 0 /* this */
            aload 1 /* locations */
            putfield org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator.fLocations:[Lorg/eclipse/jdt/launching/sourcelookup/IJavaSourceLocation;
         1: .line 200
            return
        end local 1 // org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation[] locations
        end local 0 // org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/eclipse/jdt/launching/sourcelookup/JavaSourceLocator;
            0    2     1  locations  [Lorg/eclipse/jdt/launching/sourcelookup/IJavaSourceLocation;
    MethodParameters:
           Name  Flags
      locations  

  public org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation[] getSourceLocations();
    descriptor: ()[Lorg/eclipse/jdt/launching/sourcelookup/IJavaSourceLocation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator this
         0: .line 210
            aload 0 /* this */
            getfield org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator.fLocations:[Lorg/eclipse/jdt/launching/sourcelookup/IJavaSourceLocation;
            areturn
        end local 0 // org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/launching/sourcelookup/JavaSourceLocator;

  public java.lang.Object[] getSourceElements(org.eclipse.debug.core.model.IStackFrame);
    descriptor: (Lorg/eclipse/debug/core/model/IStackFrame;)[Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator this
         0: .line 223
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tIJavaStackFrame cannot be resolved to a type\n\tIJavaStackFrame cannot be resolved to a type\n\tIJavaStackFrame cannot be resolved to a type\n\tIJavaThread cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/launching/sourcelookup/JavaSourceLocator;
    MethodParameters:
            Name  Flags
      stackFrame  

  public java.lang.Object getSourceElement(org.eclipse.debug.core.model.IStackFrame);
    descriptor: (Lorg/eclipse/debug/core/model/IStackFrame;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator this
         0: .line 261
            new java.lang.Error
            dup
            ldc "Unresolved compilation problems: \n\tIJavaStackFrame cannot be resolved to a type\n\tIJavaStackFrame cannot be resolved to a type\n\tIJavaStackFrame cannot be resolved to a type\n\tIJavaThread cannot be resolved to a variable\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/launching/sourcelookup/JavaSourceLocator;
    MethodParameters:
            Name  Flags
      stackFrame  

  java.lang.String getFullyQualfiedName(IJavaStackFrame);
    descriptor: (LIJavaStackFrame;)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator this
         0: .line 292
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tIJavaStackFrame cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/launching/sourcelookup/JavaSourceLocator;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
       Name  Flags
      frame  

  protected static void collectRequiredProjects(org.eclipse.jdt.core.IJavaProject, java.util.ArrayList<org.eclipse.jdt.core.IJavaProject>);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Ljava/util/ArrayList;)V
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.eclipse.jdt.core.IJavaProject proj
        start local 1 // java.util.ArrayList res
         0: .line 340
            aload 1 /* res */
            aload 0 /* proj */
            invokevirtual java.util.ArrayList.contains:(Ljava/lang/Object;)Z
            ifne 13
         1: .line 341
            aload 1 /* res */
            aload 0 /* proj */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         2: .line 343
            aload 0 /* proj */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getJavaModel:()Lorg/eclipse/jdt/core/IJavaModel;
            astore 2 /* model */
        start local 2 // org.eclipse.jdt.core.IJavaModel model
         3: .line 345
            aload 0 /* proj */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getRawClasspath:()[Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 3 /* entries */
        start local 3 // org.eclipse.jdt.core.IClasspathEntry[] entries
         4: .line 346
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 12
         6: .line 347
      StackMap locals: org.eclipse.jdt.core.IJavaModel org.eclipse.jdt.core.IClasspathEntry[] int
      StackMap stack:
            aload 3 /* entries */
            iload 4 /* i */
            aaload
            astore 5 /* curr */
        start local 5 // org.eclipse.jdt.core.IClasspathEntry curr
         7: .line 348
            aload 5 /* curr */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            iconst_2
            if_icmpne 11
         8: .line 349
            aload 2 /* model */
            aload 5 /* curr */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            iconst_0
            invokeinterface org.eclipse.core.runtime.IPath.segment:(I)Ljava/lang/String;
            invokeinterface org.eclipse.jdt.core.IJavaModel.getJavaProject:(Ljava/lang/String;)Lorg/eclipse/jdt/core/IJavaProject;
            astore 6 /* ref */
        start local 6 // org.eclipse.jdt.core.IJavaProject ref
         9: .line 350
            aload 6 /* ref */
            invokeinterface org.eclipse.jdt.core.IJavaProject.exists:()Z
            ifeq 11
        10: .line 351
            aload 6 /* ref */
            aload 1 /* res */
            invokestatic org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator.collectRequiredProjects:(Lorg/eclipse/jdt/core/IJavaProject;Ljava/util/ArrayList;)V
        end local 6 // org.eclipse.jdt.core.IJavaProject ref
        end local 5 // org.eclipse.jdt.core.IClasspathEntry curr
        11: .line 346
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 4 /* i */
            aload 3 /* entries */
            arraylength
            if_icmplt 6
        end local 4 // int i
        end local 3 // org.eclipse.jdt.core.IClasspathEntry[] entries
        end local 2 // org.eclipse.jdt.core.IJavaModel model
        13: .line 356
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.ArrayList res
        end local 0 // org.eclipse.jdt.core.IJavaProject proj
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     proj  Lorg/eclipse/jdt/core/IJavaProject;
            0   14     1      res  Ljava/util/ArrayList<Lorg/eclipse/jdt/core/IJavaProject;>;
            3   13     2    model  Lorg/eclipse/jdt/core/IJavaModel;
            4   13     3  entries  [Lorg/eclipse/jdt/core/IClasspathEntry;
            5   13     4        i  I
            7   11     5     curr  Lorg/eclipse/jdt/core/IClasspathEntry;
            9   11     6      ref  Lorg/eclipse/jdt/core/IJavaProject;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    Signature: (Lorg/eclipse/jdt/core/IJavaProject;Ljava/util/ArrayList<Lorg/eclipse/jdt/core/IJavaProject;>;)V
    MethodParameters:
      Name  Flags
      proj  
      res   

  public static org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation[] getDefaultSourceLocations(org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;)[Lorg/eclipse/jdt/launching/sourcelookup/IJavaSourceLocation;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.eclipse.jdt.core.IJavaProject project
         0: .line 371
            invokestatic org.eclipse.debug.core.DebugPlugin.getDefault:()Lorg/eclipse/debug/core/DebugPlugin;
            invokevirtual org.eclipse.debug.core.DebugPlugin.getLaunchManager:()Lorg/eclipse/debug/core/ILaunchManager;
            getstatic org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants.ID_JAVA_APPLICATION:Ljava/lang/String;
            invokeinterface org.eclipse.debug.core.ILaunchManager.getLaunchConfigurationType:(Ljava/lang/String;)Lorg/eclipse/debug/core/ILaunchConfigurationType;
            astore 1 /* type */
        start local 1 // org.eclipse.debug.core.ILaunchConfigurationType type
         1: .line 372
            aload 1 /* type */
            aconst_null
            aload 0 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getElementName:()Ljava/lang/String;
            invokeinterface org.eclipse.debug.core.ILaunchConfigurationType.newInstance:(Lorg/eclipse/core/resources/IContainer;Ljava/lang/String;)Lorg/eclipse/debug/core/ILaunchConfigurationWorkingCopy;
            astore 2 /* config */
        start local 2 // org.eclipse.debug.core.ILaunchConfigurationWorkingCopy config
         2: .line 373
            aload 2 /* config */
            getstatic org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants.ATTR_PROJECT_NAME:Ljava/lang/String;
            aload 0 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getElementName:()Ljava/lang/String;
            invokeinterface org.eclipse.debug.core.ILaunchConfigurationWorkingCopy.setAttribute:(Ljava/lang/String;Ljava/lang/String;)V
         3: .line 374
            new org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator
            dup
            invokespecial org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator.<init>:()V
            astore 3 /* locator */
        start local 3 // org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator locator
         4: .line 375
            aload 3 /* locator */
            aload 2 /* config */
            invokevirtual org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator.initializeDefaults:(Lorg/eclipse/debug/core/ILaunchConfiguration;)V
         5: .line 376
            aload 3 /* locator */
            invokevirtual org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator.getSourceLocations:()[Lorg/eclipse/jdt/launching/sourcelookup/IJavaSourceLocation;
            areturn
        end local 3 // org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator locator
        end local 2 // org.eclipse.debug.core.ILaunchConfigurationWorkingCopy config
        end local 1 // org.eclipse.debug.core.ILaunchConfigurationType type
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0  project  Lorg/eclipse/jdt/core/IJavaProject;
            1    6     1     type  Lorg/eclipse/debug/core/ILaunchConfigurationType;
            2    6     2   config  Lorg/eclipse/debug/core/ILaunchConfigurationWorkingCopy;
            4    6     3  locator  Lorg/eclipse/jdt/launching/sourcelookup/JavaSourceLocator;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
         Name  Flags
      project  

  public java.lang.String getMemento();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator this
         0: .line 384
            invokestatic org.eclipse.debug.core.DebugPlugin.newDocument:()Lorg/w3c/dom/Document;
            astore 1 /* doc */
        start local 1 // org.w3c.dom.Document doc
         1: .line 385
            aload 1 /* doc */
            ldc "javaSourceLocator"
            invokeinterface org.w3c.dom.Document.createElement:(Ljava/lang/String;)Lorg/w3c/dom/Element;
            astore 2 /* node */
        start local 2 // org.w3c.dom.Element node
         2: .line 386
            aload 1 /* doc */
            aload 2 /* node */
            invokeinterface org.w3c.dom.Document.appendChild:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
            pop
         3: .line 388
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator.getSourceLocations:()[Lorg/eclipse/jdt/launching/sourcelookup/IJavaSourceLocation;
            astore 3 /* locations */
        start local 3 // org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation[] locations
         4: .line 389
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 11
         6: .line 390
      StackMap locals: org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator org.w3c.dom.Document org.w3c.dom.Element org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation[] int
      StackMap stack:
            aload 1 /* doc */
            ldc "javaSourceLocation"
            invokeinterface org.w3c.dom.Document.createElement:(Ljava/lang/String;)Lorg/w3c/dom/Element;
            astore 5 /* child */
        start local 5 // org.w3c.dom.Element child
         7: .line 391
            aload 5 /* child */
            ldc "class"
            aload 3 /* locations */
            iload 4 /* i */
            aaload
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokeinterface org.w3c.dom.Element.setAttribute:(Ljava/lang/String;Ljava/lang/String;)V
         8: .line 392
            aload 5 /* child */
            ldc "memento"
            aload 3 /* locations */
            iload 4 /* i */
            aaload
            invokeinterface org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation.getMemento:()Ljava/lang/String;
            invokeinterface org.w3c.dom.Element.setAttribute:(Ljava/lang/String;Ljava/lang/String;)V
         9: .line 393
            aload 2 /* node */
            aload 5 /* child */
            invokeinterface org.w3c.dom.Element.appendChild:(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
            pop
        end local 5 // org.w3c.dom.Element child
        10: .line 389
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 4 /* i */
            aload 3 /* locations */
            arraylength
            if_icmplt 6
        end local 4 // int i
        12: .line 395
            aload 1 /* doc */
            invokestatic org.eclipse.debug.core.DebugPlugin.serializeDocument:(Lorg/w3c/dom/Document;)Ljava/lang/String;
            areturn
        end local 3 // org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation[] locations
        end local 2 // org.w3c.dom.Element node
        end local 1 // org.w3c.dom.Document doc
        end local 0 // org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0       this  Lorg/eclipse/jdt/launching/sourcelookup/JavaSourceLocator;
            1   13     1        doc  Lorg/w3c/dom/Document;
            2   13     2       node  Lorg/w3c/dom/Element;
            4   13     3  locations  [Lorg/eclipse/jdt/launching/sourcelookup/IJavaSourceLocation;
            5   12     4          i  I
            7   10     5      child  Lorg/w3c/dom/Element;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException

  public void initializeDefaults(org.eclipse.debug.core.ILaunchConfiguration);
    descriptor: (Lorg/eclipse/debug/core/ILaunchConfiguration;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator this
        start local 1 // org.eclipse.debug.core.ILaunchConfiguration configuration
         0: .line 403
            aload 1 /* configuration */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.computeUnresolvedSourceLookupPath:(Lorg/eclipse/debug/core/ILaunchConfiguration;)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            astore 2 /* entries */
        start local 2 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] entries
         1: .line 404
            aload 2 /* entries */
            aload 1 /* configuration */
            invokestatic org.eclipse.jdt.launching.JavaRuntime.resolveSourceLookupPath:([Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;Lorg/eclipse/debug/core/ILaunchConfiguration;)[Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            astore 3 /* resolved */
        start local 3 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] resolved
         2: .line 405
            aload 0 /* this */
            aload 3 /* resolved */
            invokestatic org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator.getSourceLocations:([Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;)[Lorg/eclipse/jdt/launching/sourcelookup/IJavaSourceLocation;
            invokevirtual org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator.setSourceLocations:([Lorg/eclipse/jdt/launching/sourcelookup/IJavaSourceLocation;)V
         3: .line 406
            return
        end local 3 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] resolved
        end local 2 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] entries
        end local 1 // org.eclipse.debug.core.ILaunchConfiguration configuration
        end local 0 // org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lorg/eclipse/jdt/launching/sourcelookup/JavaSourceLocator;
            0    4     1  configuration  Lorg/eclipse/debug/core/ILaunchConfiguration;
            1    4     2        entries  [Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            2    4     3       resolved  [Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
               Name  Flags
      configuration  

  public void initializeFromMemento(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=20, args_size=2
        start local 0 // org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator this
        start local 1 // java.lang.String memento
         0: .line 413
            aconst_null
            astore 2 /* ex */
        start local 2 // java.lang.Exception ex
         1: .line 415
            aconst_null
            astore 3 /* root */
        start local 3 // org.w3c.dom.Element root
         2: .line 417
            invokestatic javax.xml.parsers.DocumentBuilderFactory.newInstance:()Ljavax/xml/parsers/DocumentBuilderFactory;
            invokevirtual javax.xml.parsers.DocumentBuilderFactory.newDocumentBuilder:()Ljavax/xml/parsers/DocumentBuilder;
         3: .line 416
            astore 4 /* parser */
        start local 4 // javax.xml.parsers.DocumentBuilder parser
         4: .line 418
            aload 4 /* parser */
            new org.xml.sax.helpers.DefaultHandler
            dup
            invokespecial org.xml.sax.helpers.DefaultHandler.<init>:()V
            invokevirtual javax.xml.parsers.DocumentBuilder.setErrorHandler:(Lorg/xml/sax/ErrorHandler;)V
         5: .line 419
            new java.io.StringReader
            dup
            aload 1 /* memento */
            invokespecial java.io.StringReader.<init>:(Ljava/lang/String;)V
            astore 5 /* reader */
        start local 5 // java.io.StringReader reader
         6: .line 420
            new org.xml.sax.InputSource
            dup
            aload 5 /* reader */
            invokespecial org.xml.sax.InputSource.<init>:(Ljava/io/Reader;)V
            astore 6 /* source */
        start local 6 // org.xml.sax.InputSource source
         7: .line 421
            aload 4 /* parser */
            aload 6 /* source */
            invokevirtual javax.xml.parsers.DocumentBuilder.parse:(Lorg/xml/sax/InputSource;)Lorg/w3c/dom/Document;
            invokeinterface org.w3c.dom.Document.getDocumentElement:()Lorg/w3c/dom/Element;
            astore 3 /* root */
         8: .line 423
            aload 3 /* root */
            invokeinterface org.w3c.dom.Element.getNodeName:()Ljava/lang/String;
            ldc "javaSourceLocator"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 10
         9: .line 424
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.launching.LaunchingMessages.JavaSourceLocator_Unable_to_restore_Java_source_locator___invalid_format__6:Ljava/lang/String;
            aconst_null
            invokevirtual org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator.abort:(Ljava/lang/String;Ljava/lang/Throwable;)V
        10: .line 427
      StackMap locals: org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator java.lang.String java.lang.Exception org.w3c.dom.Element javax.xml.parsers.DocumentBuilder java.io.StringReader org.xml.sax.InputSource
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* sourceLocations */
        start local 7 // java.util.List sourceLocations
        11: .line 428
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.getDefault:()Lorg/eclipse/jdt/internal/launching/LaunchingPlugin;
            invokevirtual org.eclipse.jdt.internal.launching.LaunchingPlugin.getBundle:()Lorg/osgi/framework/Bundle;
            astore 8 /* bundle */
        start local 8 // org.osgi.framework.Bundle bundle
        12: .line 430
            aload 3 /* root */
            invokeinterface org.w3c.dom.Element.getChildNodes:()Lorg/w3c/dom/NodeList;
            astore 9 /* list */
        start local 9 // org.w3c.dom.NodeList list
        13: .line 431
            aload 9 /* list */
            invokeinterface org.w3c.dom.NodeList.getLength:()I
            istore 10 /* length */
        start local 10 // int length
        14: .line 432
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        15: goto 43
        16: .line 433
      StackMap locals: org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator java.lang.String java.lang.Exception org.w3c.dom.Element javax.xml.parsers.DocumentBuilder java.io.StringReader org.xml.sax.InputSource java.util.List org.osgi.framework.Bundle org.w3c.dom.NodeList int int
      StackMap stack:
            aload 9 /* list */
            iload 11 /* i */
            invokeinterface org.w3c.dom.NodeList.item:(I)Lorg/w3c/dom/Node;
            astore 12 /* node */
        start local 12 // org.w3c.dom.Node node
        17: .line 434
            aload 12 /* node */
            invokeinterface org.w3c.dom.Node.getNodeType:()S
            istore 13 /* type */
        start local 13 // short type
        18: .line 435
            iload 13 /* type */
            iconst_1
            if_icmpne 42
        19: .line 436
            aload 12 /* node */
            checkcast org.w3c.dom.Element
            astore 14 /* entry */
        start local 14 // org.w3c.dom.Element entry
        20: .line 437
            aload 14 /* entry */
            invokeinterface org.w3c.dom.Element.getNodeName:()Ljava/lang/String;
            ldc "javaSourceLocation"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 41
        21: .line 438
            aload 14 /* entry */
            ldc "class"
            invokeinterface org.w3c.dom.Element.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            astore 15 /* className */
        start local 15 // java.lang.String className
        22: .line 439
            aload 14 /* entry */
            ldc "memento"
            invokeinterface org.w3c.dom.Element.getAttribute:(Ljava/lang/String;)Ljava/lang/String;
            astore 16 /* data */
        start local 16 // java.lang.String data
        23: .line 440
            aload 0 /* this */
            aload 15 /* className */
            invokevirtual org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator.isEmpty:(Ljava/lang/String;)Z
            ifeq 25
        24: .line 441
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.launching.LaunchingMessages.JavaSourceLocator_Unable_to_restore_Java_source_locator___invalid_format__10:Ljava/lang/String;
            aconst_null
            invokevirtual org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator.abort:(Ljava/lang/String;Ljava/lang/Throwable;)V
        25: .line 443
      StackMap locals: org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator java.lang.String java.lang.Exception org.w3c.dom.Element javax.xml.parsers.DocumentBuilder java.io.StringReader org.xml.sax.InputSource java.util.List org.osgi.framework.Bundle org.w3c.dom.NodeList int int org.w3c.dom.Node int org.w3c.dom.Element java.lang.String java.lang.String
      StackMap stack:
            aconst_null
            astore 17 /* clazz */
        start local 17 // java.lang.Class clazz
        26: .line 445
            aload 8 /* bundle */
            aload 15 /* className */
            invokeinterface org.osgi.framework.Bundle.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            astore 17 /* clazz */
        27: .line 446
            goto 30
      StackMap locals: org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator java.lang.String java.lang.Exception org.w3c.dom.Element javax.xml.parsers.DocumentBuilder java.io.StringReader org.xml.sax.InputSource java.util.List org.osgi.framework.Bundle org.w3c.dom.NodeList int int org.w3c.dom.Node int org.w3c.dom.Element java.lang.String java.lang.String java.lang.Class
      StackMap stack: java.lang.ClassNotFoundException
        28: astore 18 /* e */
        start local 18 // java.lang.ClassNotFoundException e
        29: .line 447
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.launching.LaunchingMessages.JavaSourceLocator_Unable_to_restore_source_location___class_not_found___0__11:Ljava/lang/String;
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 15 /* className */
            aastore
            invokestatic org.eclipse.osgi.util.NLS.bind:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aload 18 /* e */
            invokevirtual org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator.abort:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 18 // java.lang.ClassNotFoundException e
        30: .line 450
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 18 /* location */
        start local 18 // org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation location
        31: .line 452
            aload 17 /* clazz */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation
            astore 18 /* location */
        32: .line 453
            goto 38
      StackMap locals: org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator java.lang.String java.lang.Exception org.w3c.dom.Element javax.xml.parsers.DocumentBuilder java.io.StringReader org.xml.sax.InputSource java.util.List org.osgi.framework.Bundle org.w3c.dom.NodeList int int org.w3c.dom.Node int org.w3c.dom.Element java.lang.String java.lang.String java.lang.Class org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation
      StackMap stack: java.lang.IllegalAccessException
        33: astore 19 /* e */
        start local 19 // java.lang.IllegalAccessException e
        34: .line 454
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.launching.LaunchingMessages.JavaSourceLocator_Unable_to_restore_source_location__12:Ljava/lang/String;
            aload 19 /* e */
            invokevirtual org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator.abort:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 19 // java.lang.IllegalAccessException e
        35: goto 38
        36: .line 455
      StackMap locals:
      StackMap stack: java.lang.InstantiationException
            astore 19 /* e */
        start local 19 // java.lang.InstantiationException e
        37: .line 456
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.launching.LaunchingMessages.JavaSourceLocator_Unable_to_restore_source_location__12:Ljava/lang/String;
            aload 19 /* e */
            invokevirtual org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator.abort:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 19 // java.lang.InstantiationException e
        38: .line 458
      StackMap locals:
      StackMap stack:
            aload 18 /* location */
            aload 16 /* data */
            invokeinterface org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation.initializeFrom:(Ljava/lang/String;)V
        39: .line 459
            aload 7 /* sourceLocations */
            aload 18 /* location */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 18 // org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation location
        end local 17 // java.lang.Class clazz
        end local 16 // java.lang.String data
        end local 15 // java.lang.String className
        40: .line 460
            goto 42
        41: .line 461
      StackMap locals: org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator java.lang.String java.lang.Exception org.w3c.dom.Element javax.xml.parsers.DocumentBuilder java.io.StringReader org.xml.sax.InputSource java.util.List org.osgi.framework.Bundle org.w3c.dom.NodeList int int org.w3c.dom.Node int org.w3c.dom.Element
      StackMap stack:
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.launching.LaunchingMessages.JavaSourceLocator_Unable_to_restore_Java_source_locator___invalid_format__14:Ljava/lang/String;
            aconst_null
            invokevirtual org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator.abort:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 14 // org.w3c.dom.Element entry
        end local 13 // short type
        end local 12 // org.w3c.dom.Node node
        42: .line 432
      StackMap locals:
      StackMap stack:
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        43: iload 11 /* i */
            iload 10 /* length */
            if_icmplt 16
        end local 11 // int i
        44: .line 465
            aload 0 /* this */
            aload 7 /* sourceLocations */
            aload 7 /* sourceLocations */
            invokeinterface java.util.List.size:()I
            anewarray org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation[]
            invokevirtual org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator.setSourceLocations:([Lorg/eclipse/jdt/launching/sourcelookup/IJavaSourceLocation;)V
        45: .line 466
            return
        end local 10 // int length
        end local 9 // org.w3c.dom.NodeList list
        end local 8 // org.osgi.framework.Bundle bundle
        end local 7 // java.util.List sourceLocations
        end local 6 // org.xml.sax.InputSource source
        end local 5 // java.io.StringReader reader
        end local 4 // javax.xml.parsers.DocumentBuilder parser
        end local 3 // org.w3c.dom.Element root
        46: .line 467
      StackMap locals: org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator java.lang.String java.lang.Exception
      StackMap stack: javax.xml.parsers.ParserConfigurationException
            astore 3 /* e */
        start local 3 // javax.xml.parsers.ParserConfigurationException e
        47: .line 468
            aload 3 /* e */
            astore 2 /* ex */
        end local 3 // javax.xml.parsers.ParserConfigurationException e
        48: goto 54
        49: .line 469
      StackMap locals:
      StackMap stack: org.xml.sax.SAXException
            astore 3 /* e */
        start local 3 // org.xml.sax.SAXException e
        50: .line 470
            aload 3 /* e */
            astore 2 /* ex */
        end local 3 // org.xml.sax.SAXException e
        51: goto 54
        52: .line 471
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 3 /* e */
        start local 3 // java.io.IOException e
        53: .line 472
            aload 3 /* e */
            astore 2 /* ex */
        end local 3 // java.io.IOException e
        54: .line 474
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.eclipse.jdt.internal.launching.LaunchingMessages.JavaSourceLocator_Exception_occurred_initializing_source_locator__15:Ljava/lang/String;
            aload 2 /* ex */
            invokevirtual org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator.abort:(Ljava/lang/String;Ljava/lang/Throwable;)V
        55: .line 475
            return
        end local 2 // java.lang.Exception ex
        end local 1 // java.lang.String memento
        end local 0 // org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   56     0             this  Lorg/eclipse/jdt/launching/sourcelookup/JavaSourceLocator;
            0   56     1          memento  Ljava/lang/String;
            1   56     2               ex  Ljava/lang/Exception;
            2   46     3             root  Lorg/w3c/dom/Element;
            4   46     4           parser  Ljavax/xml/parsers/DocumentBuilder;
            6   46     5           reader  Ljava/io/StringReader;
            7   46     6           source  Lorg/xml/sax/InputSource;
           11   46     7  sourceLocations  Ljava/util/List<Lorg/eclipse/jdt/launching/sourcelookup/IJavaSourceLocation;>;
           12   46     8           bundle  Lorg/osgi/framework/Bundle;
           13   46     9             list  Lorg/w3c/dom/NodeList;
           14   46    10           length  I
           15   44    11                i  I
           17   42    12             node  Lorg/w3c/dom/Node;
           18   42    13             type  S
           20   42    14            entry  Lorg/w3c/dom/Element;
           22   40    15        className  Ljava/lang/String;
           23   40    16             data  Ljava/lang/String;
           26   40    17            clazz  Ljava/lang/Class<*>;
           29   30    18                e  Ljava/lang/ClassNotFoundException;
           31   40    18         location  Lorg/eclipse/jdt/launching/sourcelookup/IJavaSourceLocation;
           34   35    19                e  Ljava/lang/IllegalAccessException;
           37   38    19                e  Ljava/lang/InstantiationException;
           47   48     3                e  Ljavax/xml/parsers/ParserConfigurationException;
           50   51     3                e  Lorg/xml/sax/SAXException;
           53   54     3                e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          26    27      28  Class java.lang.ClassNotFoundException
          31    32      33  Class java.lang.IllegalAccessException
          31    32      36  Class java.lang.InstantiationException
           1    45      46  Class javax.xml.parsers.ParserConfigurationException
           1    45      49  Class org.xml.sax.SAXException
           1    45      52  Class java.io.IOException
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
         Name  Flags
      memento  

  private static org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation[] getSourceLocations(org.eclipse.jdt.launching.IRuntimeClasspathEntry[]);
    descriptor: ([Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;)[Lorg/eclipse/jdt/launching/sourcelookup/IJavaSourceLocation;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=1
        start local 0 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] entries
         0: .line 484
            new java.util.ArrayList
            dup
            aload 0 /* entries */
            arraylength
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 1 /* locations */
        start local 1 // java.util.List locations
         1: .line 485
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 31
         3: .line 486
      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 487
            aconst_null
            astore 4 /* location */
        start local 4 // org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation location
         5: .line 488
            aload 3 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getType:()I
            tableswitch { // 1 - 4
                    1: 6
                    2: 10
                    3: 23
                    4: 27
              default: 28
          }
         6: .line 490
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation
      StackMap stack:
            aload 3 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getResource:()Lorg/eclipse/core/resources/IResource;
            checkcast org.eclipse.core.resources.IProject
            astore 5 /* project */
        start local 5 // org.eclipse.core.resources.IProject project
         7: .line 491
            aload 5 /* project */
            ifnull 28
            aload 5 /* project */
            invokeinterface org.eclipse.core.resources.IProject.exists:()Z
            ifeq 28
            aload 5 /* project */
            invokeinterface org.eclipse.core.resources.IProject.isOpen:()Z
            ifeq 28
         8: .line 492
            new org.eclipse.jdt.launching.sourcelookup.JavaProjectSourceLocation
            dup
            aload 5 /* project */
            invokestatic org.eclipse.jdt.core.JavaCore.create:(Lorg/eclipse/core/resources/IProject;)Lorg/eclipse/jdt/core/IJavaProject;
            invokespecial org.eclipse.jdt.launching.sourcelookup.JavaProjectSourceLocation.<init>:(Lorg/eclipse/jdt/core/IJavaProject;)V
            astore 4 /* location */
         9: .line 494
            goto 28
        end local 5 // org.eclipse.core.resources.IProject project
        10: .line 497
      StackMap locals:
      StackMap stack:
            aload 3 /* entry */
            invokestatic org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator.getArchiveSourceLocation:(Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;)Lorg/eclipse/jdt/launching/sourcelookup/IJavaSourceLocation;
            astore 4 /* location */
        11: .line 498
            aload 4 /* location */
            ifnonnull 28
        12: .line 499
            aload 3 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getSourceAttachmentLocation:()Ljava/lang/String;
            astore 6 /* path */
        start local 6 // java.lang.String path
        13: .line 500
            aload 6 /* path */
            ifnonnull 15
        14: .line 502
            aload 3 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getLocation:()Ljava/lang/String;
            astore 6 /* path */
        15: .line 504
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry[] java.util.List int org.eclipse.jdt.launching.IRuntimeClasspathEntry org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation top java.lang.String
      StackMap stack:
            aload 6 /* path */
            ifnull 28
        16: .line 505
            new java.io.File
            dup
            aload 6 /* path */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 7 /* file */
        start local 7 // java.io.File file
        17: .line 506
            aload 7 /* file */
            invokevirtual java.io.File.exists:()Z
            ifeq 28
        18: .line 507
            aload 7 /* file */
            invokevirtual java.io.File.isDirectory:()Z
            ifeq 21
        19: .line 508
            new org.eclipse.jdt.launching.sourcelookup.DirectorySourceLocation
            dup
            aload 7 /* file */
            invokespecial org.eclipse.jdt.launching.sourcelookup.DirectorySourceLocation.<init>:(Ljava/io/File;)V
            astore 4 /* location */
        20: .line 509
            goto 28
        21: .line 510
      StackMap locals: java.io.File
      StackMap stack:
            new org.eclipse.jdt.launching.sourcelookup.ArchiveSourceLocation
            dup
            aload 6 /* path */
            aload 3 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getSourceAttachmentRootLocation:()Ljava/lang/String;
            invokespecial org.eclipse.jdt.launching.sourcelookup.ArchiveSourceLocation.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 4 /* location */
        end local 7 // java.io.File file
        end local 6 // java.lang.String path
        22: .line 515
            goto 28
        23: .line 517
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry[] java.util.List int org.eclipse.jdt.launching.IRuntimeClasspathEntry org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation
      StackMap stack:
            aload 3 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getSourceAttachmentLocation:()Ljava/lang/String;
            astore 6 /* source */
        start local 6 // java.lang.String source
        24: .line 518
            aload 6 /* source */
            ifnull 28
        25: .line 519
            new org.eclipse.jdt.launching.sourcelookup.ArchiveSourceLocation
            dup
            aload 6 /* source */
            aload 3 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getSourceAttachmentRootLocation:()Ljava/lang/String;
            invokespecial org.eclipse.jdt.launching.sourcelookup.ArchiveSourceLocation.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 4 /* location */
        26: .line 521
            goto 28
        end local 6 // java.lang.String source
        27: .line 523
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            getstatic org.eclipse.jdt.internal.launching.LaunchingMessages.JavaSourceLocator_Illegal_to_have_a_container_resolved_to_a_container_1:Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        28: .line 525
      StackMap locals:
      StackMap stack:
            aload 4 /* location */
            ifnull 30
        29: .line 526
            aload 1 /* locations */
            aload 4 /* location */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation location
        end local 3 // org.eclipse.jdt.launching.IRuntimeClasspathEntry entry
        30: .line 485
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        31: iload 2 /* i */
            aload 0 /* entries */
            arraylength
            if_icmplt 3
        end local 2 // int i
        32: .line 529
            aload 1 /* locations */
            aload 1 /* locations */
            invokeinterface java.util.List.size:()I
            anewarray org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation[]
            areturn
        end local 1 // java.util.List locations
        end local 0 // org.eclipse.jdt.launching.IRuntimeClasspathEntry[] entries
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   33     0    entries  [Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            1   33     1  locations  Ljava/util/List<Lorg/eclipse/jdt/launching/sourcelookup/IJavaSourceLocation;>;
            2   32     2          i  I
            4   30     3      entry  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            5   30     4   location  Lorg/eclipse/jdt/launching/sourcelookup/IJavaSourceLocation;
            7   10     5    project  Lorg/eclipse/core/resources/IProject;
           13   22     6       path  Ljava/lang/String;
           17   22     7       file  Ljava/io/File;
           24   27     6     source  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      entries  

  private boolean isEmpty(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator this
        start local 1 // java.lang.String string
         0: .line 533
            aload 1 /* string */
            ifnull 1
            aload 1 /* string */
            invokevirtual java.lang.String.length:()I
            ifeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // java.lang.String string
        end local 0 // org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/eclipse/jdt/launching/sourcelookup/JavaSourceLocator;
            0    2     1  string  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      string  

  private void abort(java.lang.String, java.lang.Throwable);
    descriptor: (Ljava/lang/String;Ljava/lang/Throwable;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator this
        start local 1 // java.lang.String message
        start local 2 // java.lang.Throwable e
         0: .line 543
            new org.eclipse.core.runtime.Status
            dup
            iconst_4
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.getUniqueIdentifier:()Ljava/lang/String;
            sipush 150
            aload 1 /* message */
            aload 2 /* e */
            invokespecial org.eclipse.core.runtime.Status.<init>:(ILjava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
            astore 3 /* s */
        start local 3 // org.eclipse.core.runtime.IStatus s
         1: .line 544
            new org.eclipse.core.runtime.CoreException
            dup
            aload 3 /* s */
            invokespecial org.eclipse.core.runtime.CoreException.<init>:(Lorg/eclipse/core/runtime/IStatus;)V
            athrow
        end local 3 // org.eclipse.core.runtime.IStatus s
        end local 2 // java.lang.Throwable e
        end local 1 // java.lang.String message
        end local 0 // org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/eclipse/jdt/launching/sourcelookup/JavaSourceLocator;
            0    2     1  message  Ljava/lang/String;
            0    2     2        e  Ljava/lang/Throwable;
            1    2     3        s  Lorg/eclipse/core/runtime/IStatus;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
         Name  Flags
      message  
      e        

  private static boolean equalOrNull(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Object a
        start local 1 // java.lang.Object b
         0: .line 557
            aload 0 /* a */
            ifnonnull 3
         1: .line 558
            aload 1 /* b */
            ifnonnull 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
         3: .line 560
      StackMap locals:
      StackMap stack:
            aload 1 /* b */
            ifnonnull 5
         4: .line 561
            iconst_0
            ireturn
         5: .line 563
      StackMap locals:
      StackMap stack:
            aload 0 /* a */
            aload 1 /* b */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object b
        end local 0 // java.lang.Object a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0     a  Ljava/lang/Object;
            0    6     1     b  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      a     
      b     

  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=2, args_size=2
        start local 0 // org.eclipse.jdt.core.IPackageFragmentRoot root
        start local 1 // org.eclipse.jdt.launching.IRuntimeClasspathEntry entry
         0: .line 577
            aload 0 /* root */
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.getSourceAttachmentPath:()Lorg/eclipse/core/runtime/IPath;
            aload 1 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getSourceAttachmentPath:()Lorg/eclipse/core/runtime/IPath;
            invokestatic org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator.equalOrNull:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ireturn
        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    1     0   root  Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            0    1     1  entry  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
       Name  Flags
      root   
      entry  

  private static org.eclipse.jdt.launching.sourcelookup.IJavaSourceLocation getArchiveSourceLocation(org.eclipse.jdt.launching.IRuntimeClasspathEntry);
    descriptor: (Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;)Lorg/eclipse/jdt/launching/sourcelookup/IJavaSourceLocation;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=1
        start local 0 // org.eclipse.jdt.launching.IRuntimeClasspathEntry entry
         0: .line 590
            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 591
            aload 1 /* resource */
            ifnonnull 22
         2: .line 595
            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
         3: .line 597
            aload 2 /* model */
            invokeinterface org.eclipse.jdt.core.IJavaModel.getJavaProjects:()[Lorg/eclipse/jdt/core/IJavaProject;
            astore 3 /* jps */
        start local 3 // org.eclipse.jdt.core.IJavaProject[] jps
         4: .line 598
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 17
         6: .line 599
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry org.eclipse.core.resources.IResource org.eclipse.jdt.core.IJavaModel org.eclipse.jdt.core.IJavaProject[] int
      StackMap stack:
            aload 3 /* jps */
            iload 4 /* i */
            aaload
            invokeinterface org.eclipse.jdt.core.IJavaProject.getPackageFragmentRoots:()[Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            astore 5 /* allRoots */
        start local 5 // org.eclipse.jdt.core.IPackageFragmentRoot[] allRoots
         7: .line 600
            iconst_0
            istore 6 /* j */
        start local 6 // int j
         8: goto 15
         9: .line 601
      StackMap locals: org.eclipse.jdt.core.IPackageFragmentRoot[] int
      StackMap stack:
            aload 5 /* allRoots */
            iload 6 /* j */
            aaload
            astore 7 /* root */
        start local 7 // org.eclipse.jdt.core.IPackageFragmentRoot root
        10: .line 602
            aload 7 /* root */
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.isExternal:()Z
            ifeq 14
            aload 7 /* root */
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.getPath:()Lorg/eclipse/core/runtime/IPath;
            new org.eclipse.core.runtime.Path
            dup
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getLocation:()Ljava/lang/String;
            invokespecial org.eclipse.core.runtime.Path.<init>:(Ljava/lang/String;)V
            invokeinterface org.eclipse.core.runtime.IPath.equals:(Ljava/lang/Object;)Z
            ifeq 14
        11: .line 603
            aload 7 /* root */
            aload 0 /* entry */
            invokestatic org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator.isSourceAttachmentEqual:(Lorg/eclipse/jdt/core/IPackageFragmentRoot;Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;)Z
            ifeq 14
        12: .line 605
            new org.eclipse.jdt.launching.sourcelookup.PackageFragmentRootSourceLocation
            dup
            aload 7 /* root */
            invokespecial org.eclipse.jdt.launching.sourcelookup.PackageFragmentRootSourceLocation.<init>:(Lorg/eclipse/jdt/core/IPackageFragmentRoot;)V
        13: areturn
        end local 7 // org.eclipse.jdt.core.IPackageFragmentRoot root
        14: .line 600
      StackMap locals:
      StackMap stack:
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
        15: iload 6 /* j */
            aload 5 /* allRoots */
            arraylength
            if_icmplt 9
        end local 6 // int j
        end local 5 // org.eclipse.jdt.core.IPackageFragmentRoot[] allRoots
        16: .line 598
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 4 /* i */
            aload 3 /* jps */
            arraylength
            if_icmplt 6
        end local 4 // int i
        end local 3 // org.eclipse.jdt.core.IJavaProject[] jps
        18: .line 610
            goto 54
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry org.eclipse.core.resources.IResource org.eclipse.jdt.core.IJavaModel
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        19: astore 3 /* e */
        start local 3 // org.eclipse.jdt.core.JavaModelException e
        20: .line 611
            aload 3 /* e */
            invokestatic org.eclipse.jdt.internal.launching.LaunchingPlugin.log:(Ljava/lang/Throwable;)V
        end local 3 // org.eclipse.jdt.core.JavaModelException e
        end local 2 // org.eclipse.jdt.core.IJavaModel model
        21: .line 613
            goto 54
        22: .line 615
      StackMap locals:
      StackMap stack:
            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
        23: .line 616
            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
        24: .line 618
            aload 3 /* jp */
            ifnull 35
            aload 3 /* jp */
            invokeinterface org.eclipse.jdt.core.IJavaProject.exists:()Z
            ifeq 35
        25: .line 619
            aload 3 /* jp */
            aload 1 /* resource */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getPackageFragmentRoot:(Lorg/eclipse/core/resources/IResource;)Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            astore 4 /* root */
        start local 4 // org.eclipse.jdt.core.IPackageFragmentRoot root
        26: .line 620
            aload 3 /* jp */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getPackageFragmentRoots:()[Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            astore 5 /* allRoots */
        start local 5 // org.eclipse.jdt.core.IPackageFragmentRoot[] allRoots
        27: .line 621
            iconst_0
            istore 6 /* j */
        start local 6 // int j
        28: goto 34
        29: .line 622
      StackMap locals: org.eclipse.jdt.launching.IRuntimeClasspathEntry org.eclipse.core.resources.IResource org.eclipse.core.resources.IProject org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.core.IPackageFragmentRoot org.eclipse.jdt.core.IPackageFragmentRoot[] int
      StackMap stack:
            aload 5 /* allRoots */
            iload 6 /* j */
            aaload
            aload 4 /* root */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 33
        30: .line 624
            aload 4 /* root */
            aload 0 /* entry */
            invokestatic org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator.isSourceAttachmentEqual:(Lorg/eclipse/jdt/core/IPackageFragmentRoot;Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;)Z
            ifeq 33
        31: .line 626
            new org.eclipse.jdt.launching.sourcelookup.PackageFragmentRootSourceLocation
            dup
            aload 4 /* root */
            invokespecial org.eclipse.jdt.launching.sourcelookup.PackageFragmentRootSourceLocation.<init>:(Lorg/eclipse/jdt/core/IPackageFragmentRoot;)V
        32: areturn
        33: .line 621
      StackMap locals:
      StackMap stack:
            iinc 6 /* j */ 1
      StackMap locals:
      StackMap stack:
        34: iload 6 /* j */
            aload 5 /* allRoots */
            arraylength
            if_icmplt 29
        end local 6 // int j
        end local 5 // org.eclipse.jdt.core.IPackageFragmentRoot[] allRoots
        end local 4 // org.eclipse.jdt.core.IPackageFragmentRoot root
        35: .line 634
      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 4 /* model */
        start local 4 // org.eclipse.jdt.core.IJavaModel model
        36: .line 635
            aload 4 /* 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
        37: .line 636
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        38: goto 50
        39: .line 637
      StackMap locals: org.eclipse.jdt.core.IJavaModel org.eclipse.jdt.core.IJavaProject[] int
      StackMap stack:
            aload 5 /* jps */
            iload 6 /* i */
            aaload
            invokeinterface org.eclipse.jdt.core.IJavaProject.getPackageFragmentRoots:()[Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            astore 7 /* allRoots */
        start local 7 // org.eclipse.jdt.core.IPackageFragmentRoot[] allRoots
        40: .line 638
            iconst_0
            istore 8 /* j */
        start local 8 // int j
        41: goto 48
        42: .line 639
      StackMap locals: org.eclipse.jdt.core.IPackageFragmentRoot[] int
      StackMap stack:
            aload 7 /* allRoots */
            iload 8 /* j */
            aaload
            astore 9 /* root */
        start local 9 // org.eclipse.jdt.core.IPackageFragmentRoot root
        43: .line 640
            aload 9 /* root */
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.isExternal:()Z
            ifne 47
            aload 9 /* root */
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.getPath:()Lorg/eclipse/core/runtime/IPath;
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.launching.IRuntimeClasspathEntry.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokeinterface org.eclipse.core.runtime.IPath.equals:(Ljava/lang/Object;)Z
            ifeq 47
        44: .line 641
            aload 9 /* root */
            aload 0 /* entry */
            invokestatic org.eclipse.jdt.launching.sourcelookup.JavaSourceLocator.isSourceAttachmentEqual:(Lorg/eclipse/jdt/core/IPackageFragmentRoot;Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;)Z
            ifeq 47
        45: .line 643
            new org.eclipse.jdt.launching.sourcelookup.PackageFragmentRootSourceLocation
            dup
            aload 9 /* root */
            invokespecial org.eclipse.jdt.launching.sourcelookup.PackageFragmentRootSourceLocation.<init>:(Lorg/eclipse/jdt/core/IPackageFragmentRoot;)V
        46: areturn
        end local 9 // org.eclipse.jdt.core.IPackageFragmentRoot root
        47: .line 638
      StackMap locals:
      StackMap stack:
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        48: iload 8 /* j */
            aload 7 /* allRoots */
            arraylength
            if_icmplt 42
        end local 8 // int j
        end local 7 // org.eclipse.jdt.core.IPackageFragmentRoot[] allRoots
        49: .line 636
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        50: iload 6 /* i */
            aload 5 /* jps */
            arraylength
            if_icmplt 39
        end local 6 // int i
        end local 5 // org.eclipse.jdt.core.IJavaProject[] jps
        end local 4 // org.eclipse.jdt.core.IJavaModel model
        51: .line 648
            goto 54
      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
        52: astore 4 /* e */
        start local 4 // org.eclipse.jdt.core.JavaModelException e
        53: .line 649
            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
        54: .line 652
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        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   55     0     entry  Lorg/eclipse/jdt/launching/IRuntimeClasspathEntry;
            1   55     1  resource  Lorg/eclipse/core/resources/IResource;
            3   21     2     model  Lorg/eclipse/jdt/core/IJavaModel;
            4   18     3       jps  [Lorg/eclipse/jdt/core/IJavaProject;
            5   18     4         i  I
            7   16     5  allRoots  [Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            8   16     6         j  I
           10   14     7      root  Lorg/eclipse/jdt/core/IPackageFragmentRoot;
           20   21     3         e  Lorg/eclipse/jdt/core/JavaModelException;
           23   54     2   project  Lorg/eclipse/core/resources/IProject;
           24   54     3        jp  Lorg/eclipse/jdt/core/IJavaProject;
           26   35     4      root  Lorg/eclipse/jdt/core/IPackageFragmentRoot;
           27   35     5  allRoots  [Lorg/eclipse/jdt/core/IPackageFragmentRoot;
           28   35     6         j  I
           36   51     4     model  Lorg/eclipse/jdt/core/IJavaModel;
           37   51     5       jps  [Lorg/eclipse/jdt/core/IJavaProject;
           38   51     6         i  I
           40   49     7  allRoots  [Lorg/eclipse/jdt/core/IPackageFragmentRoot;
           41   49     8         j  I
           43   47     9      root  Lorg/eclipse/jdt/core/IPackageFragmentRoot;
           53   54     4         e  Lorg/eclipse/jdt/core/JavaModelException;
      Exception table:
        from    to  target  type
           3    13      19  Class org.eclipse.jdt.core.JavaModelException
          14    18      19  Class org.eclipse.jdt.core.JavaModelException
          24    32      52  Class org.eclipse.jdt.core.JavaModelException
          33    46      52  Class org.eclipse.jdt.core.JavaModelException
          47    51      52  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
       Name  Flags
      entry  
}
SourceFile: "JavaSourceLocator.java"
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()