public class org.eclipse.jdt.internal.core.JavaModel extends org.eclipse.jdt.internal.core.Openable implements org.eclipse.jdt.core.IJavaModel
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.core.JavaModel
  super_class: org.eclipse.jdt.internal.core.Openable
{
  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModel this
         0: .line 57
            aload 0 /* this */
            aconst_null
            invokespecial org.eclipse.jdt.internal.core.Openable.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;)V
         1: .line 58
            return
        end local 0 // org.eclipse.jdt.internal.core.JavaModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/JavaModel;
    Exceptions:
      throws java.lang.Error

  protected boolean buildStructure(org.eclipse.jdt.internal.core.OpenableElementInfo, org.eclipse.core.runtime.IProgressMonitor, java.util.Map, org.eclipse.core.resources.IResource);
    descriptor: (Lorg/eclipse/jdt/internal/core/OpenableElementInfo;Lorg/eclipse/core/runtime/IProgressMonitor;Ljava/util/Map;Lorg/eclipse/core/resources/IResource;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=11, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.JavaModel this
        start local 1 // org.eclipse.jdt.internal.core.OpenableElementInfo info
        start local 2 // org.eclipse.core.runtime.IProgressMonitor pm
        start local 3 // java.util.Map newElements
        start local 4 // org.eclipse.core.resources.IResource underlyingResource
         0: .line 63
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            invokeinterface org.eclipse.core.resources.IWorkspace.getRoot:()Lorg/eclipse/core/resources/IWorkspaceRoot;
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.getProjects:()[Lorg/eclipse/core/resources/IProject;
            astore 5 /* projects */
        start local 5 // org.eclipse.core.resources.IProject[] projects
         1: .line 64
            aload 5 /* projects */
            arraylength
            istore 6 /* length */
        start local 6 // int length
         2: .line 65
            iload 6 /* length */
            anewarray org.eclipse.jdt.core.IJavaElement
            astore 7 /* children */
        start local 7 // org.eclipse.jdt.core.IJavaElement[] children
         3: .line 66
            iconst_0
            istore 8 /* index */
        start local 8 // int index
         4: .line 67
            iconst_0
            istore 9 /* i */
        start local 9 // int i
         5: goto 10
         6: .line 68
      StackMap locals: org.eclipse.jdt.internal.core.JavaModel org.eclipse.jdt.internal.core.OpenableElementInfo org.eclipse.core.runtime.IProgressMonitor java.util.Map org.eclipse.core.resources.IResource org.eclipse.core.resources.IProject[] int org.eclipse.jdt.core.IJavaElement[] int int
      StackMap stack:
            aload 5 /* projects */
            iload 9 /* i */
            aaload
            astore 10 /* project */
        start local 10 // org.eclipse.core.resources.IProject project
         7: .line 69
            aload 10 /* project */
            invokestatic org.eclipse.jdt.internal.core.JavaProject.hasJavaNature:(Lorg/eclipse/core/resources/IProject;)Z
            ifeq 9
         8: .line 70
            aload 7 /* children */
            iload 8 /* index */
            iinc 8 /* index */ 1
            aload 0 /* this */
            aload 10 /* project */
            invokevirtual org.eclipse.jdt.internal.core.JavaModel.getJavaProject:(Lorg/eclipse/core/resources/IResource;)Lorg/eclipse/jdt/core/IJavaProject;
            aastore
        end local 10 // org.eclipse.core.resources.IProject project
         9: .line 67
      StackMap locals:
      StackMap stack:
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 9 /* i */
            iload 6 /* length */
            if_icmplt 6
        end local 9 // int i
        11: .line 73
            iload 8 /* index */
            iload 6 /* length */
            if_icmpge 13
        12: .line 74
            aload 7 /* children */
            iconst_0
            iload 8 /* index */
            anewarray org.eclipse.jdt.core.IJavaElement
            dup
            astore 7 /* children */
            iconst_0
            iload 8 /* index */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        13: .line 75
      StackMap locals:
      StackMap stack:
            aload 1 /* info */
            aload 7 /* children */
            invokevirtual org.eclipse.jdt.internal.core.OpenableElementInfo.setChildren:([Lorg/eclipse/jdt/core/IJavaElement;)V
        14: .line 77
            aload 3 /* newElements */
            aload 0 /* this */
            aload 1 /* info */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 79
            iconst_1
            ireturn
        end local 8 // int index
        end local 7 // org.eclipse.jdt.core.IJavaElement[] children
        end local 6 // int length
        end local 5 // org.eclipse.core.resources.IProject[] projects
        end local 4 // org.eclipse.core.resources.IResource underlyingResource
        end local 3 // java.util.Map newElements
        end local 2 // org.eclipse.core.runtime.IProgressMonitor pm
        end local 1 // org.eclipse.jdt.internal.core.OpenableElementInfo info
        end local 0 // org.eclipse.jdt.internal.core.JavaModel this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   16     0                this  Lorg/eclipse/jdt/internal/core/JavaModel;
            0   16     1                info  Lorg/eclipse/jdt/internal/core/OpenableElementInfo;
            0   16     2                  pm  Lorg/eclipse/core/runtime/IProgressMonitor;
            0   16     3         newElements  Ljava/util/Map;
            0   16     4  underlyingResource  Lorg/eclipse/core/resources/IResource;
            1   16     5            projects  [Lorg/eclipse/core/resources/IProject;
            2   16     6              length  I
            3   16     7            children  [Lorg/eclipse/jdt/core/IJavaElement;
            4   16     8               index  I
            5   11     9                   i  I
            7    9    10             project  Lorg/eclipse/core/resources/IProject;
    MethodParameters:
                    Name  Flags
      info                
      pm                  
      newElements         
      underlyingResource  

  public boolean contains(org.eclipse.core.resources.IResource);
    descriptor: (Lorg/eclipse/core/resources/IResource;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModel this
        start local 1 // org.eclipse.core.resources.IResource resource
         0: .line 86
            aload 1 /* resource */
            invokeinterface org.eclipse.core.resources.IResource.getType:()I
            tableswitch { // 4 - 8
                    4: 1
                    5: 2
                    6: 2
                    7: 2
                    8: 1
              default: 2
          }
         1: .line 89
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 94
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModel.getJavaProjects:()[Lorg/eclipse/jdt/core/IJavaProject;
            astore 2 /* projects */
        start local 2 // org.eclipse.jdt.core.IJavaProject[] projects
         3: .line 95
            goto 6
        end local 2 // org.eclipse.jdt.core.IJavaProject[] projects
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.JavaModelException
         4: pop
         5: .line 96
            iconst_0
            ireturn
        start local 2 // org.eclipse.jdt.core.IJavaProject[] projects
         6: .line 98
      StackMap locals: org.eclipse.jdt.core.IJavaProject[]
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         7: aload 2 /* projects */
            arraylength
            istore 4 /* length */
        start local 4 // int length
         8: goto 13
         9: .line 99
      StackMap locals: int int
      StackMap stack:
            aload 2 /* projects */
            iload 3 /* i */
            aaload
            checkcast org.eclipse.jdt.internal.core.JavaProject
            astore 5 /* project */
        start local 5 // org.eclipse.jdt.internal.core.JavaProject project
        10: .line 100
            aload 5 /* project */
            aload 1 /* resource */
            invokevirtual org.eclipse.jdt.internal.core.JavaProject.contains:(Lorg/eclipse/core/resources/IResource;)Z
            ifne 12
        11: .line 101
            iconst_0
            ireturn
        end local 5 // org.eclipse.jdt.internal.core.JavaProject project
        12: .line 98
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 3 /* i */
            iload 4 /* length */
            if_icmplt 9
        end local 4 // int length
        end local 3 // int i
        14: .line 104
            iconst_1
            ireturn
        end local 2 // org.eclipse.jdt.core.IJavaProject[] projects
        end local 1 // org.eclipse.core.resources.IResource resource
        end local 0 // org.eclipse.jdt.internal.core.JavaModel this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   15     0      this  Lorg/eclipse/jdt/internal/core/JavaModel;
            0   15     1  resource  Lorg/eclipse/core/resources/IResource;
            3    4     2  projects  [Lorg/eclipse/jdt/core/IJavaProject;
            6   15     2  projects  [Lorg/eclipse/jdt/core/IJavaProject;
            7   14     3         i  I
            8   14     4    length  I
           10   12     5   project  Lorg/eclipse/jdt/internal/core/JavaProject;
      Exception table:
        from    to  target  type
           2     3       4  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
          Name  Flags
      resource  

  public void copy(org.eclipse.jdt.core.IJavaElement[], org.eclipse.jdt.core.IJavaElement[], org.eclipse.jdt.core.IJavaElement[], java.lang.String[], boolean, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: ([Lorg/eclipse/jdt/core/IJavaElement;[Lorg/eclipse/jdt/core/IJavaElement;[Lorg/eclipse/jdt/core/IJavaElement;[Ljava/lang/String;ZLorg/eclipse/core/runtime/IProgressMonitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=7
        start local 0 // org.eclipse.jdt.internal.core.JavaModel this
        start local 1 // org.eclipse.jdt.core.IJavaElement[] elements
        start local 2 // org.eclipse.jdt.core.IJavaElement[] containers
        start local 3 // org.eclipse.jdt.core.IJavaElement[] siblings
        start local 4 // java.lang.String[] renamings
        start local 5 // boolean force
        start local 6 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 111
            aload 1 /* elements */
            ifnull 3
            aload 1 /* elements */
            arraylength
            ifle 3
            aload 1 /* elements */
            iconst_0
            aaload
            ifnull 3
            aload 1 /* elements */
            iconst_0
            aaload
            invokeinterface org.eclipse.jdt.core.IJavaElement.getElementType:()I
            bipush 7
            if_icmpge 3
         1: .line 112
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.CopyResourceElementsOperation
            dup
            aload 1 /* elements */
            aload 2 /* containers */
            iload 5 /* force */
            invokespecial org.eclipse.jdt.internal.core.CopyResourceElementsOperation.<init>:([Lorg/eclipse/jdt/core/IJavaElement;[Lorg/eclipse/jdt/core/IJavaElement;Z)V
            aload 1 /* elements */
            aload 3 /* siblings */
            aload 4 /* renamings */
            aload 6 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.JavaModel.runOperation:(Lorg/eclipse/jdt/internal/core/MultiOperation;[Lorg/eclipse/jdt/core/IJavaElement;[Lorg/eclipse/jdt/core/IJavaElement;[Ljava/lang/String;Lorg/eclipse/core/runtime/IProgressMonitor;)V
         2: .line 113
            goto 4
         3: .line 114
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.CopyElementsOperation
            dup
            aload 1 /* elements */
            aload 2 /* containers */
            iload 5 /* force */
            invokespecial org.eclipse.jdt.internal.core.CopyElementsOperation.<init>:([Lorg/eclipse/jdt/core/IJavaElement;[Lorg/eclipse/jdt/core/IJavaElement;Z)V
            aload 1 /* elements */
            aload 3 /* siblings */
            aload 4 /* renamings */
            aload 6 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.JavaModel.runOperation:(Lorg/eclipse/jdt/internal/core/MultiOperation;[Lorg/eclipse/jdt/core/IJavaElement;[Lorg/eclipse/jdt/core/IJavaElement;[Ljava/lang/String;Lorg/eclipse/core/runtime/IProgressMonitor;)V
         4: .line 116
      StackMap locals:
      StackMap stack:
            return
        end local 6 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 5 // boolean force
        end local 4 // java.lang.String[] renamings
        end local 3 // org.eclipse.jdt.core.IJavaElement[] siblings
        end local 2 // org.eclipse.jdt.core.IJavaElement[] containers
        end local 1 // org.eclipse.jdt.core.IJavaElement[] elements
        end local 0 // org.eclipse.jdt.internal.core.JavaModel this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/eclipse/jdt/internal/core/JavaModel;
            0    5     1    elements  [Lorg/eclipse/jdt/core/IJavaElement;
            0    5     2  containers  [Lorg/eclipse/jdt/core/IJavaElement;
            0    5     3    siblings  [Lorg/eclipse/jdt/core/IJavaElement;
            0    5     4   renamings  [Ljava/lang/String;
            0    5     5       force  Z
            0    5     6     monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
            Name  Flags
      elements    
      containers  
      siblings    
      renamings   
      force       
      monitor     

  protected java.lang.Object createElementInfo();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModel this
         0: .line 122
            new org.eclipse.jdt.internal.core.JavaModelInfo
            dup
            invokespecial org.eclipse.jdt.internal.core.JavaModelInfo.<init>:()V
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaModel;

  public void delete(org.eclipse.jdt.core.IJavaElement[], boolean, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: ([Lorg/eclipse/jdt/core/IJavaElement;ZLorg/eclipse/core/runtime/IProgressMonitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.JavaModel this
        start local 1 // org.eclipse.jdt.core.IJavaElement[] elements
        start local 2 // boolean force
        start local 3 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 130
            aload 1 /* elements */
            ifnull 3
            aload 1 /* elements */
            arraylength
            ifle 3
            aload 1 /* elements */
            iconst_0
            aaload
            ifnull 3
            aload 1 /* elements */
            iconst_0
            aaload
            invokeinterface org.eclipse.jdt.core.IJavaElement.getElementType:()I
            bipush 7
            if_icmpge 3
         1: .line 131
            new org.eclipse.jdt.internal.core.DeleteResourceElementsOperation
            dup
            aload 1 /* elements */
            iload 2 /* force */
            invokespecial org.eclipse.jdt.internal.core.DeleteResourceElementsOperation.<init>:([Lorg/eclipse/jdt/core/IJavaElement;Z)V
            aload 3 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.DeleteResourceElementsOperation.runOperation:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
         2: .line 132
            goto 4
         3: .line 133
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.core.DeleteElementsOperation
            dup
            aload 1 /* elements */
            iload 2 /* force */
            invokespecial org.eclipse.jdt.internal.core.DeleteElementsOperation.<init>:([Lorg/eclipse/jdt/core/IJavaElement;Z)V
            aload 3 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.DeleteElementsOperation.runOperation:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
         4: .line 135
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 2 // boolean force
        end local 1 // org.eclipse.jdt.core.IJavaElement[] elements
        end local 0 // org.eclipse.jdt.internal.core.JavaModel this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/eclipse/jdt/internal/core/JavaModel;
            0    5     1  elements  [Lorg/eclipse/jdt/core/IJavaElement;
            0    5     2     force  Z
            0    5     3   monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
          Name  Flags
      elements  
      force     
      monitor   

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModel this
        start local 1 // java.lang.Object o
         0: .line 138
            aload 1 /* o */
            instanceof org.eclipse.jdt.internal.core.JavaModel
            ifne 1
            iconst_0
            ireturn
         1: .line 139
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* o */
            invokespecial org.eclipse.jdt.internal.core.Openable.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object o
        end local 0 // org.eclipse.jdt.internal.core.JavaModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/JavaModel;
            0    2     1     o  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      o     

  public int getElementType();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModel this
         0: .line 146
            iconst_1
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.JavaModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaModel;

  public org.eclipse.jdt.core.IJavaElement getHandleFromMemento(java.lang.String, org.eclipse.jdt.internal.core.util.MementoTokenizer, org.eclipse.jdt.core.WorkingCopyOwner);
    descriptor: (Ljava/lang/String;Lorg/eclipse/jdt/internal/core/util/MementoTokenizer;Lorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/core/IJavaElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.JavaModel this
        start local 1 // java.lang.String token
        start local 2 // org.eclipse.jdt.internal.core.util.MementoTokenizer memento
        start local 3 // org.eclipse.jdt.core.WorkingCopyOwner owner
         0: .line 154
            aload 1 /* token */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            tableswitch { // 61 - 61
                   61: 1
              default: 5
          }
         1: .line 156
      StackMap locals:
      StackMap stack:
            aload 2 /* memento */
            invokevirtual org.eclipse.jdt.internal.core.util.MementoTokenizer.hasMoreTokens:()Z
            ifne 2
            aload 0 /* this */
            areturn
         2: .line 157
      StackMap locals:
      StackMap stack:
            aload 2 /* memento */
            invokevirtual org.eclipse.jdt.internal.core.util.MementoTokenizer.nextToken:()Ljava/lang/String;
            astore 4 /* projectName */
        start local 4 // java.lang.String projectName
         3: .line 158
            aload 0 /* this */
            aload 4 /* projectName */
            invokevirtual org.eclipse.jdt.internal.core.JavaModel.getJavaProject:(Ljava/lang/String;)Lorg/eclipse/jdt/core/IJavaProject;
            checkcast org.eclipse.jdt.internal.core.JavaElement
            astore 5 /* project */
        start local 5 // org.eclipse.jdt.internal.core.JavaElement project
         4: .line 159
            aload 5 /* project */
            aload 2 /* memento */
            aload 3 /* owner */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getHandleFromMemento:(Lorg/eclipse/jdt/internal/core/util/MementoTokenizer;Lorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/core/IJavaElement;
            areturn
        end local 5 // org.eclipse.jdt.internal.core.JavaElement project
        end local 4 // java.lang.String projectName
         5: .line 161
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // org.eclipse.jdt.core.WorkingCopyOwner owner
        end local 2 // org.eclipse.jdt.internal.core.util.MementoTokenizer memento
        end local 1 // java.lang.String token
        end local 0 // org.eclipse.jdt.internal.core.JavaModel this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/eclipse/jdt/internal/core/JavaModel;
            0    6     1        token  Ljava/lang/String;
            0    6     2      memento  Lorg/eclipse/jdt/internal/core/util/MementoTokenizer;
            0    6     3        owner  Lorg/eclipse/jdt/core/WorkingCopyOwner;
            3    5     4  projectName  Ljava/lang/String;
            4    5     5      project  Lorg/eclipse/jdt/internal/core/JavaElement;
    MethodParameters:
         Name  Flags
      token    
      memento  
      owner    

  protected void getHandleMemento(java.lang.StringBuffer);
    descriptor: (Ljava/lang/StringBuffer;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModel this
        start local 1 // java.lang.StringBuffer buff
         0: .line 168
            aload 1 /* buff */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModel.getElementName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         1: .line 169
            return
        end local 1 // java.lang.StringBuffer buff
        end local 0 // org.eclipse.jdt.internal.core.JavaModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/JavaModel;
            0    2     1  buff  Ljava/lang/StringBuffer;
    MethodParameters:
      Name  Flags
      buff  

  protected char getHandleMementoDelimiter();
    descriptor: ()C
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModel this
         0: .line 176
            iconst_0
            ldc "Should not be called"
            invokestatic org.eclipse.core.runtime.Assert.isTrue:(ZLjava/lang/String;)Z
            pop
         1: .line 177
            iconst_0
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.JavaModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/JavaModel;

  public org.eclipse.jdt.core.IJavaProject getJavaProject(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/eclipse/jdt/core/IJavaProject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModel this
        start local 1 // java.lang.String projectName
         0: .line 184
            new org.eclipse.jdt.internal.core.JavaProject
            dup
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            invokeinterface org.eclipse.core.resources.IWorkspace.getRoot:()Lorg/eclipse/core/resources/IWorkspaceRoot;
            aload 1 /* projectName */
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.getProject:(Ljava/lang/String;)Lorg/eclipse/core/resources/IProject;
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.JavaProject.<init>:(Lorg/eclipse/core/resources/IProject;Lorg/eclipse/jdt/internal/core/JavaElement;)V
            areturn
        end local 1 // java.lang.String projectName
        end local 0 // org.eclipse.jdt.internal.core.JavaModel this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/eclipse/jdt/internal/core/JavaModel;
            0    1     1  projectName  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      projectName  

  public org.eclipse.jdt.core.IJavaProject getJavaProject(org.eclipse.core.resources.IResource);
    descriptor: (Lorg/eclipse/core/resources/IResource;)Lorg/eclipse/jdt/core/IJavaProject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModel this
        start local 1 // org.eclipse.core.resources.IResource resource
         0: .line 195
            aload 1 /* resource */
            invokeinterface org.eclipse.core.resources.IResource.getType:()I
            tableswitch { // 1 - 4
                    1: 2
                    2: 1
                    3: 4
                    4: 3
              default: 4
          }
         1: .line 197
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.core.JavaProject
            dup
            aload 1 /* resource */
            checkcast org.eclipse.core.resources.IFolder
            invokeinterface org.eclipse.core.resources.IFolder.getProject:()Lorg/eclipse/core/resources/IProject;
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.JavaProject.<init>:(Lorg/eclipse/core/resources/IProject;Lorg/eclipse/jdt/internal/core/JavaElement;)V
            areturn
         2: .line 199
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.core.JavaProject
            dup
            aload 1 /* resource */
            checkcast org.eclipse.core.resources.IFile
            invokeinterface org.eclipse.core.resources.IFile.getProject:()Lorg/eclipse/core/resources/IProject;
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.JavaProject.<init>:(Lorg/eclipse/core/resources/IProject;Lorg/eclipse/jdt/internal/core/JavaElement;)V
            areturn
         3: .line 201
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.core.JavaProject
            dup
            aload 1 /* resource */
            checkcast org.eclipse.core.resources.IProject
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.JavaProject.<init>:(Lorg/eclipse/core/resources/IProject;Lorg/eclipse/jdt/internal/core/JavaElement;)V
            areturn
         4: .line 203
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            getstatic org.eclipse.jdt.internal.core.util.Messages.element_invalidResourceForProject:Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // org.eclipse.core.resources.IResource resource
        end local 0 // org.eclipse.jdt.internal.core.JavaModel this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/eclipse/jdt/internal/core/JavaModel;
            0    5     1  resource  Lorg/eclipse/core/resources/IResource;
    MethodParameters:
          Name  Flags
      resource  

  public org.eclipse.jdt.core.IJavaProject[] getJavaProjects();
    descriptor: ()[Lorg/eclipse/jdt/core/IJavaProject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModel this
         0: .line 211
            aload 0 /* this */
            iconst_2
            invokevirtual org.eclipse.jdt.internal.core.JavaModel.getChildrenOfType:(I)Ljava/util/ArrayList;
            astore 1 /* list */
        start local 1 // java.util.ArrayList list
         1: .line 212
            aload 1 /* list */
            invokevirtual java.util.ArrayList.size:()I
            anewarray org.eclipse.jdt.core.IJavaProject
            astore 2 /* array */
        start local 2 // org.eclipse.jdt.core.IJavaProject[] array
         2: .line 213
            aload 1 /* list */
            aload 2 /* array */
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
         3: .line 214
            aload 2 /* array */
            areturn
        end local 2 // org.eclipse.jdt.core.IJavaProject[] array
        end local 1 // java.util.ArrayList list
        end local 0 // org.eclipse.jdt.internal.core.JavaModel this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/eclipse/jdt/internal/core/JavaModel;
            1    4     1   list  Ljava/util/ArrayList;
            2    4     2  array  [Lorg/eclipse/jdt/core/IJavaProject;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public java.lang.Object[] getNonJavaResources();
    descriptor: ()[Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModel this
         0: .line 222
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModel.getElementInfo:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.JavaModelInfo
            invokevirtual org.eclipse.jdt.internal.core.JavaModelInfo.getNonJavaResources:()[Ljava/lang/Object;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaModel;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public org.eclipse.core.runtime.IPath getPath();
    descriptor: ()Lorg/eclipse/core/runtime/IPath;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModel this
         0: .line 230
            getstatic org.eclipse.core.runtime.Path.ROOT:Lorg/eclipse/core/runtime/Path;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaModel;

  public org.eclipse.core.resources.IResource resource(org.eclipse.jdt.internal.core.PackageFragmentRoot);
    descriptor: (Lorg/eclipse/jdt/internal/core/PackageFragmentRoot;)Lorg/eclipse/core/resources/IResource;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModel this
        start local 1 // org.eclipse.jdt.internal.core.PackageFragmentRoot root
         0: .line 237
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            invokeinterface org.eclipse.core.resources.IWorkspace.getRoot:()Lorg/eclipse/core/resources/IWorkspaceRoot;
            areturn
        end local 1 // org.eclipse.jdt.internal.core.PackageFragmentRoot root
        end local 0 // org.eclipse.jdt.internal.core.JavaModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaModel;
            0    1     1  root  Lorg/eclipse/jdt/internal/core/PackageFragmentRoot;
    MethodParameters:
      Name  Flags
      root  

  public org.eclipse.core.resources.IResource getUnderlyingResource();
    descriptor: ()Lorg/eclipse/core/resources/IResource;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModel this
         0: .line 244
            aconst_null
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaModel;

  public org.eclipse.core.resources.IWorkspace getWorkspace();
    descriptor: ()Lorg/eclipse/core/resources/IWorkspace;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaModel this
         0: .line 251
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaModel this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaModel;

  public void move(org.eclipse.jdt.core.IJavaElement[], org.eclipse.jdt.core.IJavaElement[], org.eclipse.jdt.core.IJavaElement[], java.lang.String[], boolean, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: ([Lorg/eclipse/jdt/core/IJavaElement;[Lorg/eclipse/jdt/core/IJavaElement;[Lorg/eclipse/jdt/core/IJavaElement;[Ljava/lang/String;ZLorg/eclipse/core/runtime/IProgressMonitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=7
        start local 0 // org.eclipse.jdt.internal.core.JavaModel this
        start local 1 // org.eclipse.jdt.core.IJavaElement[] elements
        start local 2 // org.eclipse.jdt.core.IJavaElement[] containers
        start local 3 // org.eclipse.jdt.core.IJavaElement[] siblings
        start local 4 // java.lang.String[] renamings
        start local 5 // boolean force
        start local 6 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 259
            aload 1 /* elements */
            ifnull 3
            aload 1 /* elements */
            arraylength
            ifle 3
            aload 1 /* elements */
            iconst_0
            aaload
            ifnull 3
            aload 1 /* elements */
            iconst_0
            aaload
            invokeinterface org.eclipse.jdt.core.IJavaElement.getElementType:()I
            bipush 7
            if_icmpge 3
         1: .line 260
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.MoveResourceElementsOperation
            dup
            aload 1 /* elements */
            aload 2 /* containers */
            iload 5 /* force */
            invokespecial org.eclipse.jdt.internal.core.MoveResourceElementsOperation.<init>:([Lorg/eclipse/jdt/core/IJavaElement;[Lorg/eclipse/jdt/core/IJavaElement;Z)V
            aload 1 /* elements */
            aload 3 /* siblings */
            aload 4 /* renamings */
            aload 6 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.JavaModel.runOperation:(Lorg/eclipse/jdt/internal/core/MultiOperation;[Lorg/eclipse/jdt/core/IJavaElement;[Lorg/eclipse/jdt/core/IJavaElement;[Ljava/lang/String;Lorg/eclipse/core/runtime/IProgressMonitor;)V
         2: .line 261
            goto 4
         3: .line 262
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new org.eclipse.jdt.internal.core.MoveElementsOperation
            dup
            aload 1 /* elements */
            aload 2 /* containers */
            iload 5 /* force */
            invokespecial org.eclipse.jdt.internal.core.MoveElementsOperation.<init>:([Lorg/eclipse/jdt/core/IJavaElement;[Lorg/eclipse/jdt/core/IJavaElement;Z)V
            aload 1 /* elements */
            aload 3 /* siblings */
            aload 4 /* renamings */
            aload 6 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.JavaModel.runOperation:(Lorg/eclipse/jdt/internal/core/MultiOperation;[Lorg/eclipse/jdt/core/IJavaElement;[Lorg/eclipse/jdt/core/IJavaElement;[Ljava/lang/String;Lorg/eclipse/core/runtime/IProgressMonitor;)V
         4: .line 264
      StackMap locals:
      StackMap stack:
            return
        end local 6 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 5 // boolean force
        end local 4 // java.lang.String[] renamings
        end local 3 // org.eclipse.jdt.core.IJavaElement[] siblings
        end local 2 // org.eclipse.jdt.core.IJavaElement[] containers
        end local 1 // org.eclipse.jdt.core.IJavaElement[] elements
        end local 0 // org.eclipse.jdt.internal.core.JavaModel this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/eclipse/jdt/internal/core/JavaModel;
            0    5     1    elements  [Lorg/eclipse/jdt/core/IJavaElement;
            0    5     2  containers  [Lorg/eclipse/jdt/core/IJavaElement;
            0    5     3    siblings  [Lorg/eclipse/jdt/core/IJavaElement;
            0    5     4   renamings  [Ljava/lang/String;
            0    5     5       force  Z
            0    5     6     monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
            Name  Flags
      elements    
      containers  
      siblings    
      renamings   
      force       
      monitor     

  public void refreshExternalArchives(org.eclipse.jdt.core.IJavaElement[], org.eclipse.core.runtime.IProgressMonitor);
    descriptor: ([Lorg/eclipse/jdt/core/IJavaElement;Lorg/eclipse/core/runtime/IProgressMonitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaModel this
        start local 1 // org.eclipse.jdt.core.IJavaElement[] elementsScope
        start local 2 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 271
            aload 1 /* elementsScope */
            ifnonnull 2
         1: .line 272
            iconst_1
            anewarray org.eclipse.jdt.core.IJavaElement
            dup
            iconst_0
            aload 0 /* this */
            aastore
            astore 1 /* elementsScope */
         2: .line 274
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getDeltaProcessor:()Lorg/eclipse/jdt/internal/core/DeltaProcessor;
            aload 1 /* elementsScope */
            aload 2 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.DeltaProcessor.checkExternalArchiveChanges:([Lorg/eclipse/jdt/core/IJavaElement;Lorg/eclipse/core/runtime/IProgressMonitor;)V
         3: .line 275
            return
        end local 2 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 1 // org.eclipse.jdt.core.IJavaElement[] elementsScope
        end local 0 // org.eclipse.jdt.internal.core.JavaModel this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lorg/eclipse/jdt/internal/core/JavaModel;
            0    4     1  elementsScope  [Lorg/eclipse/jdt/core/IJavaElement;
            0    4     2        monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
               Name  Flags
      elementsScope  
      monitor        

  public void rename(org.eclipse.jdt.core.IJavaElement[], org.eclipse.jdt.core.IJavaElement[], java.lang.String[], boolean, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: ([Lorg/eclipse/jdt/core/IJavaElement;[Lorg/eclipse/jdt/core/IJavaElement;[Ljava/lang/String;ZLorg/eclipse/core/runtime/IProgressMonitor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=7, args_size=6
        start local 0 // org.eclipse.jdt.internal.core.JavaModel this
        start local 1 // org.eclipse.jdt.core.IJavaElement[] elements
        start local 2 // org.eclipse.jdt.core.IJavaElement[] destinations
        start local 3 // java.lang.String[] renamings
        start local 4 // boolean force
        start local 5 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 283
            aload 1 /* elements */
            ifnull 3
            aload 1 /* elements */
            arraylength
            ifle 3
            aload 1 /* elements */
            iconst_0
            aaload
            ifnull 3
            aload 1 /* elements */
            iconst_0
            aaload
            invokeinterface org.eclipse.jdt.core.IJavaElement.getElementType:()I
            bipush 7
            if_icmpge 3
         1: .line 284
            new org.eclipse.jdt.internal.core.RenameResourceElementsOperation
            dup
            aload 1 /* elements */
            aload 2 /* destinations */
            aload 3 /* renamings */
            iload 4 /* force */
            invokespecial org.eclipse.jdt.internal.core.RenameResourceElementsOperation.<init>:([Lorg/eclipse/jdt/core/IJavaElement;[Lorg/eclipse/jdt/core/IJavaElement;[Ljava/lang/String;Z)V
            astore 6 /* op */
        start local 6 // org.eclipse.jdt.internal.core.MultiOperation op
         2: .line 285
            goto 4
        end local 6 // org.eclipse.jdt.internal.core.MultiOperation op
         3: .line 286
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.core.RenameElementsOperation
            dup
            aload 1 /* elements */
            aload 2 /* destinations */
            aload 3 /* renamings */
            iload 4 /* force */
            invokespecial org.eclipse.jdt.internal.core.RenameElementsOperation.<init>:([Lorg/eclipse/jdt/core/IJavaElement;[Lorg/eclipse/jdt/core/IJavaElement;[Ljava/lang/String;Z)V
            astore 6 /* op */
        start local 6 // org.eclipse.jdt.internal.core.MultiOperation op
         4: .line 289
      StackMap locals: org.eclipse.jdt.internal.core.MultiOperation
      StackMap stack:
            aload 6 /* op */
            aload 5 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.MultiOperation.runOperation:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
         5: .line 290
            return
        end local 6 // org.eclipse.jdt.internal.core.MultiOperation op
        end local 5 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 4 // boolean force
        end local 3 // java.lang.String[] renamings
        end local 2 // org.eclipse.jdt.core.IJavaElement[] destinations
        end local 1 // org.eclipse.jdt.core.IJavaElement[] elements
        end local 0 // org.eclipse.jdt.internal.core.JavaModel this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lorg/eclipse/jdt/internal/core/JavaModel;
            0    6     1      elements  [Lorg/eclipse/jdt/core/IJavaElement;
            0    6     2  destinations  [Lorg/eclipse/jdt/core/IJavaElement;
            0    6     3     renamings  [Ljava/lang/String;
            0    6     4         force  Z
            0    6     5       monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            2    3     6            op  Lorg/eclipse/jdt/internal/core/MultiOperation;
            4    6     6            op  Lorg/eclipse/jdt/internal/core/MultiOperation;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
              Name  Flags
      elements      
      destinations  
      renamings     
      force         
      monitor       

  protected void runOperation(org.eclipse.jdt.internal.core.MultiOperation, org.eclipse.jdt.core.IJavaElement[], org.eclipse.jdt.core.IJavaElement[], java.lang.String[], org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Lorg/eclipse/jdt/internal/core/MultiOperation;[Lorg/eclipse/jdt/core/IJavaElement;[Lorg/eclipse/jdt/core/IJavaElement;[Ljava/lang/String;Lorg/eclipse/core/runtime/IProgressMonitor;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=7, args_size=6
        start local 0 // org.eclipse.jdt.internal.core.JavaModel this
        start local 1 // org.eclipse.jdt.internal.core.MultiOperation op
        start local 2 // org.eclipse.jdt.core.IJavaElement[] elements
        start local 3 // org.eclipse.jdt.core.IJavaElement[] siblings
        start local 4 // java.lang.String[] renamings
        start local 5 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 295
            aload 1 /* op */
            aload 4 /* renamings */
            invokevirtual org.eclipse.jdt.internal.core.MultiOperation.setRenamings:([Ljava/lang/String;)V
         1: .line 296
            aload 3 /* siblings */
            ifnull 7
         2: .line 297
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         3: goto 6
         4: .line 298
      StackMap locals: int
      StackMap stack:
            aload 1 /* op */
            aload 2 /* elements */
            iload 6 /* i */
            aaload
            aload 3 /* siblings */
            iload 6 /* i */
            aaload
            invokevirtual org.eclipse.jdt.internal.core.MultiOperation.setInsertBefore:(Lorg/eclipse/jdt/core/IJavaElement;Lorg/eclipse/jdt/core/IJavaElement;)V
         5: .line 297
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 6 /* i */
            aload 2 /* elements */
            arraylength
            if_icmplt 4
        end local 6 // int i
         7: .line 301
      StackMap locals:
      StackMap stack:
            aload 1 /* op */
            aload 5 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.MultiOperation.runOperation:(Lorg/eclipse/core/runtime/IProgressMonitor;)V
         8: .line 302
            return
        end local 5 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 4 // java.lang.String[] renamings
        end local 3 // org.eclipse.jdt.core.IJavaElement[] siblings
        end local 2 // org.eclipse.jdt.core.IJavaElement[] elements
        end local 1 // org.eclipse.jdt.internal.core.MultiOperation op
        end local 0 // org.eclipse.jdt.internal.core.JavaModel this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lorg/eclipse/jdt/internal/core/JavaModel;
            0    9     1         op  Lorg/eclipse/jdt/internal/core/MultiOperation;
            0    9     2   elements  [Lorg/eclipse/jdt/core/IJavaElement;
            0    9     3   siblings  [Lorg/eclipse/jdt/core/IJavaElement;
            0    9     4  renamings  [Ljava/lang/String;
            0    9     5    monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            3    7     6          i  I
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
           Name  Flags
      op         
      elements   
      siblings   
      renamings  
      monitor    

  protected void toStringInfo(int, java.lang.StringBuffer, java.lang.Object, boolean);
    descriptor: (ILjava/lang/StringBuffer;Ljava/lang/Object;Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.JavaModel this
        start local 1 // int tab
        start local 2 // java.lang.StringBuffer buffer
        start local 3 // java.lang.Object info
        start local 4 // boolean showResolvedInfo
         0: .line 308
            aload 2 /* buffer */
            aload 0 /* this */
            iload 1 /* tab */
            invokevirtual org.eclipse.jdt.internal.core.JavaModel.tabString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         1: .line 309
            aload 2 /* buffer */
            ldc "Java Model"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         2: .line 310
            aload 3 /* info */
            ifnonnull 4
         3: .line 311
            aload 2 /* buffer */
            ldc " (not open)"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         4: .line 313
      StackMap locals:
      StackMap stack:
            return
        end local 4 // boolean showResolvedInfo
        end local 3 // java.lang.Object info
        end local 2 // java.lang.StringBuffer buffer
        end local 1 // int tab
        end local 0 // org.eclipse.jdt.internal.core.JavaModel this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    5     0              this  Lorg/eclipse/jdt/internal/core/JavaModel;
            0    5     1               tab  I
            0    5     2            buffer  Ljava/lang/StringBuffer;
            0    5     3              info  Ljava/lang/Object;
            0    5     4  showResolvedInfo  Z
    MethodParameters:
                  Name  Flags
      tab               
      buffer            
      info              
      showResolvedInfo  

  public static java.lang.Object getTarget(org.eclipse.core.runtime.IPath, boolean);
    descriptor: (Lorg/eclipse/core/runtime/IPath;Z)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.eclipse.core.runtime.IPath path
        start local 1 // boolean checkResourceExistence
         0: .line 328
            aload 0 /* path */
            invokestatic org.eclipse.jdt.internal.core.JavaModel.getWorkspaceTarget:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/resources/IResource;
            astore 2 /* target */
        start local 2 // java.lang.Object target
         1: .line 329
            aload 2 /* target */
            ifnull 3
         2: .line 330
            aload 2 /* target */
            areturn
         3: .line 331
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* path */
            iload 1 /* checkResourceExistence */
            invokestatic org.eclipse.jdt.internal.core.JavaModel.getExternalTarget:(Lorg/eclipse/core/runtime/IPath;Z)Ljava/lang/Object;
            areturn
        end local 2 // java.lang.Object target
        end local 1 // boolean checkResourceExistence
        end local 0 // org.eclipse.core.runtime.IPath path
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    4     0                    path  Lorg/eclipse/core/runtime/IPath;
            0    4     1  checkResourceExistence  Z
            1    4     2                  target  Ljava/lang/Object;
    MethodParameters:
                        Name  Flags
      path                    
      checkResourceExistence  

  public static org.eclipse.core.resources.IResource getWorkspaceTarget(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/resources/IResource;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.core.runtime.IPath path
         0: .line 339
            aload 0 /* path */
            ifnull 1
            aload 0 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.getDevice:()Ljava/lang/String;
            ifnull 2
         1: .line 340
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 341
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.core.resources.ResourcesPlugin.getWorkspace:()Lorg/eclipse/core/resources/IWorkspace;
            astore 1 /* workspace */
        start local 1 // org.eclipse.core.resources.IWorkspace workspace
         3: .line 342
            aload 1 /* workspace */
            ifnonnull 5
         4: .line 343
            aconst_null
            areturn
         5: .line 344
      StackMap locals: org.eclipse.core.resources.IWorkspace
      StackMap stack:
            aload 1 /* workspace */
            invokeinterface org.eclipse.core.resources.IWorkspace.getRoot:()Lorg/eclipse/core/resources/IWorkspaceRoot;
            aload 0 /* path */
            invokeinterface org.eclipse.core.resources.IWorkspaceRoot.findMember:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/resources/IResource;
            areturn
        end local 1 // org.eclipse.core.resources.IWorkspace workspace
        end local 0 // org.eclipse.core.runtime.IPath path
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       path  Lorg/eclipse/core/runtime/IPath;
            3    6     1  workspace  Lorg/eclipse/core/resources/IWorkspace;
    MethodParameters:
      Name  Flags
      path  

  public static java.lang.Object getExternalTarget(org.eclipse.core.runtime.IPath, boolean);
    descriptor: (Lorg/eclipse/core/runtime/IPath;Z)Ljava/lang/Object;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.eclipse.core.runtime.IPath path
        start local 1 // boolean checkResourceExistence
         0: .line 354
            aload 0 /* path */
            ifnonnull 2
         1: .line 355
            aconst_null
            areturn
         2: .line 356
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getExternalManager:()Lorg/eclipse/jdt/internal/core/ExternalFoldersManager;
            astore 2 /* externalFoldersManager */
        start local 2 // org.eclipse.jdt.internal.core.ExternalFoldersManager externalFoldersManager
         3: .line 357
            aload 2 /* externalFoldersManager */
            aload 0 /* path */
            invokevirtual org.eclipse.jdt.internal.core.ExternalFoldersManager.getFolder:(Lorg/eclipse/core/runtime/IPath;)Lorg/eclipse/core/resources/IFolder;
            astore 3 /* linkedFolder */
        start local 3 // java.lang.Object linkedFolder
         4: .line 358
            aload 3 /* linkedFolder */
            ifnull 10
         5: .line 359
            iload 1 /* checkResourceExistence */
            ifeq 9
         6: .line 361
            new java.io.File
            dup
            aload 0 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.toOSString:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 4 /* externalFile */
        start local 4 // java.io.File externalFile
         7: .line 362
            aload 4 /* externalFile */
            invokevirtual java.io.File.isDirectory:()Z
            ifne 9
         8: .line 363
            aconst_null
            areturn
        end local 4 // java.io.File externalFile
         9: .line 366
      StackMap locals: org.eclipse.jdt.internal.core.ExternalFoldersManager java.lang.Object
      StackMap stack:
            aload 3 /* linkedFolder */
            areturn
        10: .line 368
      StackMap locals:
      StackMap stack:
            new java.io.File
            dup
            aload 0 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.toOSString:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 4 /* externalFile */
        start local 4 // java.io.File externalFile
        11: .line 369
            iload 1 /* checkResourceExistence */
            ifne 13
        12: .line 370
            aload 4 /* externalFile */
            areturn
        13: .line 371
      StackMap locals: java.io.File
      StackMap stack:
            aload 0 /* path */
            invokestatic org.eclipse.jdt.internal.core.JavaModel.isExternalFile:(Lorg/eclipse/core/runtime/IPath;)Z
            ifeq 15
        14: .line 372
            aload 4 /* externalFile */
            areturn
        15: .line 374
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 4 // java.io.File externalFile
        end local 3 // java.lang.Object linkedFolder
        end local 2 // org.eclipse.jdt.internal.core.ExternalFoldersManager externalFoldersManager
        end local 1 // boolean checkResourceExistence
        end local 0 // org.eclipse.core.runtime.IPath path
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   16     0                    path  Lorg/eclipse/core/runtime/IPath;
            0   16     1  checkResourceExistence  Z
            3   16     2  externalFoldersManager  Lorg/eclipse/jdt/internal/core/ExternalFoldersManager;
            4   16     3            linkedFolder  Ljava/lang/Object;
            7    9     4            externalFile  Ljava/io/File;
           11   16     4            externalFile  Ljava/io/File;
    MethodParameters:
                        Name  Flags
      path                    
      checkResourceExistence  

  public static boolean isFile(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.Object target
         0: .line 382
            aload 0 /* target */
            instanceof java.io.File
            ifeq 3
         1: .line 383
            aload 0 /* target */
            checkcast java.io.File
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            invokestatic org.eclipse.core.runtime.Path.fromOSString:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            astore 1 /* path */
        start local 1 // org.eclipse.core.runtime.IPath path
         2: .line 384
            aload 1 /* path */
            invokestatic org.eclipse.jdt.internal.core.JavaModel.isExternalFile:(Lorg/eclipse/core/runtime/IPath;)Z
            ireturn
        end local 1 // org.eclipse.core.runtime.IPath path
         3: .line 386
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // java.lang.Object target
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  target  Ljava/lang/Object;
            2    3     1    path  Lorg/eclipse/core/runtime/IPath;
    MethodParameters:
        Name  Flags
      target  

  public static boolean isJimage(java.io.File);
    descriptor: (Ljava/io/File;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.File file
         0: .line 390
            aload 0 /* file */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.isJrt:(Ljava/lang/String;)Z
            ireturn
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  file  Ljava/io/File;
    MethodParameters:
      Name  Flags
      file  

  public static boolean isJmod(java.io.File);
    descriptor: (Ljava/io/File;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.io.File file
         0: .line 393
            aload 0 /* file */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            invokestatic org.eclipse.core.runtime.Path.fromOSString:(Ljava/lang/String;)Lorg/eclipse/core/runtime/IPath;
            astore 1 /* path */
        start local 1 // org.eclipse.core.runtime.IPath path
         1: .line 394
            aload 1 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.getFileExtension:()Ljava/lang/String;
            ldc "jmod"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 3
         2: .line 395
            iconst_1
            ireturn
         3: .line 397
      StackMap locals: org.eclipse.core.runtime.IPath
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // org.eclipse.core.runtime.IPath path
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  file  Ljava/io/File;
            1    4     1  path  Lorg/eclipse/core/runtime/IPath;
    MethodParameters:
      Name  Flags
      file  

  private static boolean isExternalFile(org.eclipse.core.runtime.IPath);
    descriptor: (Lorg/eclipse/core/runtime/IPath;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.eclipse.core.runtime.IPath path
         0: .line 405
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            aload 0 /* path */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.isExternalFile:(Lorg/eclipse/core/runtime/IPath;)Z
            ifeq 2
         1: .line 406
            iconst_1
            ireturn
         2: .line 408
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.JavaModelManager.ZIP_ACCESS_VERBOSE:Z
            ifeq 4
         3: .line 409
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ") [JavaModel.isExternalFile(...)] Checking existence of "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 411
      StackMap locals:
      StackMap stack:
            aload 0 /* path */
            invokeinterface org.eclipse.core.runtime.IPath.toFile:()Ljava/io/File;
            invokevirtual java.io.File.isFile:()Z
            istore 1 /* isFile */
        start local 1 // boolean isFile
         5: .line 412
            iload 1 /* isFile */
            ifeq 7
         6: .line 413
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            aload 0 /* path */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.addExternalFile:(Lorg/eclipse/core/runtime/IPath;)V
         7: .line 415
      StackMap locals: int
      StackMap stack:
            iload 1 /* isFile */
            ireturn
        end local 1 // boolean isFile
        end local 0 // org.eclipse.core.runtime.IPath path
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    path  Lorg/eclipse/core/runtime/IPath;
            5    8     1  isFile  Z
    MethodParameters:
      Name  Flags
      path  

  public static java.io.File getFile(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/io/File;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object target
         0: .line 423
            aload 0 /* target */
            invokestatic org.eclipse.jdt.internal.core.JavaModel.isFile:(Ljava/lang/Object;)Z
            ifeq 1
            aload 0 /* target */
            checkcast java.io.File
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: java.io.File
         2: areturn
        end local 0 // java.lang.Object target
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  target  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      target  

  protected org.eclipse.core.runtime.IStatus validateExistence(org.eclipse.core.resources.IResource);
    descriptor: (Lorg/eclipse/core/resources/IResource;)Lorg/eclipse/core/runtime/IStatus;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaModel this
        start local 1 // org.eclipse.core.resources.IResource underlyingResource
         0: .line 429
            getstatic org.eclipse.jdt.internal.core.JavaModelStatus.VERIFIED_OK:Lorg/eclipse/jdt/core/IJavaModelStatus;
            areturn
        end local 1 // org.eclipse.core.resources.IResource underlyingResource
        end local 0 // org.eclipse.jdt.internal.core.JavaModel this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    1     0                this  Lorg/eclipse/jdt/internal/core/JavaModel;
            0    1     1  underlyingResource  Lorg/eclipse/core/resources/IResource;
    MethodParameters:
                    Name  Flags
      underlyingResource  
}
SourceFile: "JavaModel.java"