public abstract class org.eclipse.jdt.internal.core.JavaElement extends org.eclipse.core.runtime.PlatformObject implements org.eclipse.jdt.core.IJavaElement
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.eclipse.jdt.internal.core.JavaElement
  super_class: org.eclipse.core.runtime.PlatformObject
{
  private static final byte[] CLOSING_DOUBLE_QUOTE;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final byte[] CHARSET;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final byte[] CHARSET_HTML5;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final byte[] META_START;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final byte[] META_END;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final char JEM_ESCAPE;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 92

  public static final char JEM_JAVAPROJECT;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 61

  public static final char JEM_PACKAGEFRAGMENTROOT;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 47

  public static final char JEM_PACKAGEFRAGMENT;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 60

  public static final char JEM_FIELD;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 94

  public static final char JEM_METHOD;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 126

  public static final char JEM_INITIALIZER;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 124

  public static final char JEM_COMPILATIONUNIT;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 123

  public static final char JEM_CLASSFILE;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 40

  public static final char JEM_MODULAR_CLASSFILE;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 39

  public static final char JEM_TYPE;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 91

  public static final char JEM_PACKAGEDECLARATION;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 37

  public static final char JEM_IMPORTDECLARATION;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 35

  public static final char JEM_COUNT;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 33

  public static final char JEM_LOCALVARIABLE;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 64

  public static final char JEM_TYPE_PARAMETER;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 93

  public static final char JEM_ANNOTATION;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 125

  public static final char JEM_LAMBDA_EXPRESSION;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 41

  public static final char JEM_LAMBDA_METHOD;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 38

  public static final char JEM_STRING;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 34

  public static final char JEM_MODULE;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 96

  public static final char JEM_DELIMITER_ESCAPE;
    descriptor: C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 61

  protected org.eclipse.jdt.internal.core.JavaElement parent;
    descriptor: Lorg/eclipse/jdt/internal/core/JavaElement;
    flags: (0x0004) ACC_PROTECTED

  protected static final java.lang.String[] NO_STRINGS;
    descriptor: [Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  protected static final org.eclipse.jdt.internal.core.JavaElement[] NO_ELEMENTS;
    descriptor: [Lorg/eclipse/jdt/internal/core/JavaElement;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  protected static final java.lang.Object NO_INFO;
    descriptor: Ljava/lang/Object;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL

  private static java.util.Set<java.lang.String> invalidURLs;
    descriptor: Ljava/util/Set;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  private static java.util.Set<java.lang.String> validURLs;
    descriptor: Ljava/util/Set;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 76
            iconst_1
            newarray 8
            dup
            iconst_0
            bipush 34
            bastore
            putstatic org.eclipse.jdt.internal.core.JavaElement.CLOSING_DOUBLE_QUOTE:[B
         1: .line 78
            bipush 8
            newarray 8
            dup
            iconst_0
            bipush 99
            bastore
            dup
            iconst_1
            bipush 104
            bastore
            dup
            iconst_2
            bipush 97
            bastore
            dup
            iconst_3
            bipush 114
            bastore
            dup
            iconst_4
            bipush 115
            bastore
            dup
            iconst_5
            bipush 101
            bastore
            dup
            bipush 6
            bipush 116
            bastore
            dup
            bipush 7
            bipush 61
            bastore
            putstatic org.eclipse.jdt.internal.core.JavaElement.CHARSET:[B
         2: .line 80
            bipush 9
            newarray 8
            dup
            iconst_0
            bipush 99
            bastore
            dup
            iconst_1
            bipush 104
            bastore
            dup
            iconst_2
            bipush 97
            bastore
            dup
            iconst_3
            bipush 114
            bastore
            dup
            iconst_4
            bipush 115
            bastore
            dup
            iconst_5
            bipush 101
            bastore
            dup
            bipush 6
            bipush 116
            bastore
            dup
            bipush 7
            bipush 61
            bastore
            dup
            bipush 8
            bipush 34
            bastore
            putstatic org.eclipse.jdt.internal.core.JavaElement.CHARSET_HTML5:[B
         3: .line 81
            iconst_5
            newarray 8
            dup
            iconst_0
            bipush 60
            bastore
            dup
            iconst_1
            bipush 109
            bastore
            dup
            iconst_2
            bipush 101
            bastore
            dup
            iconst_3
            bipush 116
            bastore
            dup
            iconst_4
            bipush 97
            bastore
            putstatic org.eclipse.jdt.internal.core.JavaElement.META_START:[B
         4: .line 82
            iconst_2
            newarray 8
            dup
            iconst_0
            bipush 34
            bastore
            dup
            iconst_1
            bipush 62
            bastore
            putstatic org.eclipse.jdt.internal.core.JavaElement.META_END:[B
         5: .line 128
            iconst_0
            anewarray java.lang.String
            putstatic org.eclipse.jdt.internal.core.JavaElement.NO_STRINGS:[Ljava/lang/String;
         6: .line 129
            iconst_0
            anewarray org.eclipse.jdt.internal.core.JavaElement
            putstatic org.eclipse.jdt.internal.core.JavaElement.NO_ELEMENTS:[Lorg/eclipse/jdt/internal/core/JavaElement;
         7: .line 130
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putstatic org.eclipse.jdt.internal.core.JavaElement.NO_INFO:Ljava/lang/Object;
         8: .line 132
            aconst_null
            putstatic org.eclipse.jdt.internal.core.JavaElement.invalidURLs:Ljava/util/Set;
         9: .line 133
            aconst_null
            putstatic org.eclipse.jdt.internal.core.JavaElement.validURLs:Ljava/util/Set;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(org.eclipse.jdt.internal.core.JavaElement);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaElement;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
        start local 1 // org.eclipse.jdt.internal.core.JavaElement parent
         0: .line 145
            aload 0 /* this */
            invokespecial org.eclipse.core.runtime.PlatformObject.<init>:()V
         1: .line 146
            aload 0 /* this */
            aload 1 /* parent */
            putfield org.eclipse.jdt.internal.core.JavaElement.parent:Lorg/eclipse/jdt/internal/core/JavaElement;
         2: .line 147
            return
        end local 1 // org.eclipse.jdt.internal.core.JavaElement parent
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/eclipse/jdt/internal/core/JavaElement;
            0    3     1  parent  Lorg/eclipse/jdt/internal/core/JavaElement;
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
        Name  Flags
      parent  

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
         0: .line 152
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.removeInfoAndChildren:(Lorg/eclipse/jdt/internal/core/JavaElement;)Ljava/lang/Object;
            pop
         1: .line 153
            return
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/JavaElement;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  protected abstract void closing(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
      Name  Flags
      info  

  protected abstract java.lang.Object createElementInfo();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
        start local 1 // java.lang.Object o
         0: .line 176
            aload 0 /* this */
            aload 1 /* o */
            if_acmpne 1
            iconst_1
            ireturn
         1: .line 179
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaElement.parent:Lorg/eclipse/jdt/internal/core/JavaElement;
            ifnonnull 2
            aload 0 /* this */
            aload 1 /* o */
            invokespecial java.lang.Object.equals:(Ljava/lang/Object;)Z
            ireturn
         2: .line 182
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast org.eclipse.jdt.internal.core.JavaElement
            astore 2 /* other */
        start local 2 // org.eclipse.jdt.internal.core.JavaElement other
         3: .line 183
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getElementName:()Ljava/lang/String;
            aload 2 /* other */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getElementName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         4: .line 184
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaElement.parent:Lorg/eclipse/jdt/internal/core/JavaElement;
            aload 2 /* other */
            getfield org.eclipse.jdt.internal.core.JavaElement.parent:Lorg/eclipse/jdt/internal/core/JavaElement;
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 183
            iconst_1
            ireturn
      StackMap locals: org.eclipse.jdt.internal.core.JavaElement
      StackMap stack:
         6: iconst_0
            ireturn
        end local 2 // org.eclipse.jdt.internal.core.JavaElement other
        end local 1 // java.lang.Object o
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/eclipse/jdt/internal/core/JavaElement;
            0    7     1      o  Ljava/lang/Object;
            3    7     2  other  Lorg/eclipse/jdt/internal/core/JavaElement;
    MethodParameters:
      Name  Flags
      o     

  protected void appendEscapedDelimiter(java.lang.StringBuffer, char);
    descriptor: (Ljava/lang/StringBuffer;C)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
        start local 1 // java.lang.StringBuffer buffer
        start local 2 // char delimiter
         0: .line 190
            aload 1 /* buffer */
            bipush 61
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         1: .line 191
            aload 1 /* buffer */
            iload 2 /* delimiter */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         2: .line 192
            return
        end local 2 // char delimiter
        end local 1 // java.lang.StringBuffer buffer
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lorg/eclipse/jdt/internal/core/JavaElement;
            0    3     1     buffer  Ljava/lang/StringBuffer;
            0    3     2  delimiter  C
    MethodParameters:
           Name  Flags
      buffer     
      delimiter  

  protected void escapeMementoName(java.lang.StringBuffer, java.lang.String);
    descriptor: (Ljava/lang/StringBuffer;Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
        start local 1 // java.lang.StringBuffer buffer
        start local 2 // java.lang.String mementoName
         0: .line 197
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: aload 2 /* mementoName */
            invokevirtual java.lang.String.length:()I
            istore 4 /* length */
        start local 4 // int length
         2: goto 8
         3: .line 198
      StackMap locals: int int
      StackMap stack:
            aload 2 /* mementoName */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* character */
        start local 5 // char character
         4: .line 199
            iload 5 /* character */
            lookupswitch { // 17
                   33: 5
                   35: 5
                   37: 5
                   39: 5
                   40: 5
                   47: 5
                   60: 5
                   61: 5
                   64: 5
                   91: 5
                   92: 5
                   93: 5
                   94: 5
                  123: 5
                  124: 5
                  125: 5
                  126: 5
              default: 6
          }
         5: .line 217
      StackMap locals: int
      StackMap stack:
            aload 1 /* buffer */
            bipush 92
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         6: .line 219
      StackMap locals:
      StackMap stack:
            aload 1 /* buffer */
            iload 5 /* character */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        end local 5 // char character
         7: .line 197
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            iload 4 /* length */
            if_icmplt 3
        end local 4 // int length
        end local 3 // int i
         9: .line 221
            return
        end local 2 // java.lang.String mementoName
        end local 1 // java.lang.StringBuffer buffer
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lorg/eclipse/jdt/internal/core/JavaElement;
            0   10     1       buffer  Ljava/lang/StringBuffer;
            0   10     2  mementoName  Ljava/lang/String;
            1    9     3            i  I
            2    9     4       length  I
            4    7     5    character  C
    MethodParameters:
             Name  Flags
      buffer       
      mementoName  

  public boolean exists();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
         0: .line 229
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getElementInfo:()Ljava/lang/Object;
            pop
         1: .line 230
            iconst_1
            ireturn
         2: .line 231
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.JavaModelException
            pop
         3: .line 234
            iconst_0
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/eclipse/jdt/internal/core/JavaElement;
      Exception table:
        from    to  target  type
           0     1       2  Class org.eclipse.jdt.core.JavaModelException

  public org.eclipse.jdt.core.dom.ASTNode findNode(org.eclipse.jdt.core.dom.CompilationUnit);
    descriptor: (Lorg/eclipse/jdt/core/dom/CompilationUnit;)Lorg/eclipse/jdt/core/dom/ASTNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
        start local 1 // org.eclipse.jdt.core.dom.CompilationUnit ast
         0: .line 242
            aconst_null
            areturn
        end local 1 // org.eclipse.jdt.core.dom.CompilationUnit ast
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaElement;
            0    1     1   ast  Lorg/eclipse/jdt/core/dom/CompilationUnit;
    MethodParameters:
      Name  Flags
      ast   

  protected abstract void generateInfos(java.lang.Object, java.util.HashMap, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Ljava/lang/Object;Ljava/util/HashMap;Lorg/eclipse/core/runtime/IProgressMonitor;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
             Name  Flags
      info         
      newElements  
      pm           

  public org.eclipse.jdt.core.IJavaElement getAncestor(int);
    descriptor: (I)Lorg/eclipse/jdt/core/IJavaElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
        start local 1 // int ancestorType
         0: .line 256
            aload 0 /* this */
            astore 2 /* element */
        start local 2 // org.eclipse.jdt.core.IJavaElement element
         1: .line 257
            goto 4
         2: .line 258
      StackMap locals: org.eclipse.jdt.core.IJavaElement
      StackMap stack:
            aload 2 /* element */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getElementType:()I
            iload 1 /* ancestorType */
            if_icmpne 3
            aload 2 /* element */
            areturn
         3: .line 259
      StackMap locals:
      StackMap stack:
            aload 2 /* element */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            astore 2 /* element */
         4: .line 257
      StackMap locals:
      StackMap stack:
            aload 2 /* element */
            ifnonnull 2
         5: .line 261
            aconst_null
            areturn
        end local 2 // org.eclipse.jdt.core.IJavaElement element
        end local 1 // int ancestorType
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lorg/eclipse/jdt/internal/core/JavaElement;
            0    6     1  ancestorType  I
            1    6     2       element  Lorg/eclipse/jdt/core/IJavaElement;
    MethodParameters:
              Name  Flags
      ancestorType  

  public org.eclipse.jdt.core.IJavaElement[] getChildren();
    descriptor: ()[Lorg/eclipse/jdt/core/IJavaElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
         0: .line 267
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getElementInfo:()Ljava/lang/Object;
            astore 1 /* elementInfo */
        start local 1 // java.lang.Object elementInfo
         1: .line 268
            aload 1 /* elementInfo */
            instanceof org.eclipse.jdt.internal.core.JavaElementInfo
            ifeq 3
         2: .line 269
            aload 1 /* elementInfo */
            checkcast org.eclipse.jdt.internal.core.JavaElementInfo
            invokevirtual org.eclipse.jdt.internal.core.JavaElementInfo.getChildren:()[Lorg/eclipse/jdt/core/IJavaElement;
            areturn
         3: .line 271
      StackMap locals: java.lang.Object
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.JavaElement.NO_ELEMENTS:[Lorg/eclipse/jdt/internal/core/JavaElement;
            areturn
        end local 1 // java.lang.Object elementInfo
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/eclipse/jdt/internal/core/JavaElement;
            1    4     1  elementInfo  Ljava/lang/Object;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public java.util.ArrayList getChildrenOfType(int);
    descriptor: (I)Ljava/util/ArrayList;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
        start local 1 // int type
         0: .line 281
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getChildren:()[Lorg/eclipse/jdt/core/IJavaElement;
            astore 2 /* children */
        start local 2 // org.eclipse.jdt.core.IJavaElement[] children
         1: .line 282
            aload 2 /* children */
            arraylength
            istore 3 /* size */
        start local 3 // int size
         2: .line 283
            new java.util.ArrayList
            dup
            iload 3 /* size */
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 4 /* list */
        start local 4 // java.util.ArrayList list
         3: .line 284
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 9
         5: .line 285
      StackMap locals: org.eclipse.jdt.internal.core.JavaElement int org.eclipse.jdt.core.IJavaElement[] int java.util.ArrayList int
      StackMap stack:
            aload 2 /* children */
            iload 5 /* i */
            aaload
            checkcast org.eclipse.jdt.internal.core.JavaElement
            astore 6 /* elt */
        start local 6 // org.eclipse.jdt.internal.core.JavaElement elt
         6: .line 286
            aload 6 /* elt */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getElementType:()I
            iload 1 /* type */
            if_icmpne 8
         7: .line 287
            aload 4 /* list */
            aload 6 /* elt */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // org.eclipse.jdt.internal.core.JavaElement elt
         8: .line 284
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 5 /* i */
            iload 3 /* size */
            if_icmplt 5
        end local 5 // int i
        10: .line 290
            aload 4 /* list */
            areturn
        end local 4 // java.util.ArrayList list
        end local 3 // int size
        end local 2 // org.eclipse.jdt.core.IJavaElement[] children
        end local 1 // int type
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/eclipse/jdt/internal/core/JavaElement;
            0   11     1      type  I
            1   11     2  children  [Lorg/eclipse/jdt/core/IJavaElement;
            2   11     3      size  I
            3   11     4      list  Ljava/util/ArrayList;
            4   10     5         i  I
            6    8     6       elt  Lorg/eclipse/jdt/internal/core/JavaElement;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
      Name  Flags
      type  

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

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

  public java.lang.Object getElementInfo();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
         0: .line 312
            aload 0 /* this */
            aconst_null
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getElementInfo:(Lorg/eclipse/core/runtime/IProgressMonitor;)Ljava/lang/Object;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaElement;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public java.lang.Object getElementInfo(org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Lorg/eclipse/core/runtime/IProgressMonitor;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
        start local 1 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 323
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            astore 2 /* manager */
        start local 2 // org.eclipse.jdt.internal.core.JavaModelManager manager
         1: .line 324
            aload 2 /* manager */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getInfo:(Lorg/eclipse/jdt/core/IJavaElement;)Ljava/lang/Object;
            astore 3 /* info */
        start local 3 // java.lang.Object info
         2: .line 325
            aload 3 /* info */
            ifnull 3
            aload 3 /* info */
            areturn
         3: .line 326
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.createElementInfo:()Ljava/lang/Object;
            iconst_0
            aload 1 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.openWhenClosed:(Ljava/lang/Object;ZLorg/eclipse/core/runtime/IProgressMonitor;)Ljava/lang/Object;
            areturn
        end local 3 // java.lang.Object info
        end local 2 // org.eclipse.jdt.internal.core.JavaModelManager manager
        end local 1 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/eclipse/jdt/internal/core/JavaElement;
            0    4     1  monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            1    4     2  manager  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            2    4     3     info  Ljava/lang/Object;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
         Name  Flags
      monitor  

  public java.lang.String getElementName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
         0: .line 333
            ldc ""
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaElement;

  public abstract 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: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      token    
      memento  
      owner    

  public org.eclipse.jdt.core.IJavaElement getHandleFromMemento(org.eclipse.jdt.internal.core.util.MementoTokenizer, org.eclipse.jdt.core.WorkingCopyOwner);
    descriptor: (Lorg/eclipse/jdt/internal/core/util/MementoTokenizer;Lorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/core/IJavaElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
        start local 1 // org.eclipse.jdt.internal.core.util.MementoTokenizer memento
        start local 2 // org.eclipse.jdt.core.WorkingCopyOwner owner
         0: .line 346
            aload 1 /* memento */
            invokevirtual org.eclipse.jdt.internal.core.util.MementoTokenizer.hasMoreTokens:()Z
            ifne 1
            aload 0 /* this */
            areturn
         1: .line 347
      StackMap locals:
      StackMap stack:
            aload 1 /* memento */
            invokevirtual org.eclipse.jdt.internal.core.util.MementoTokenizer.nextToken:()Ljava/lang/String;
            astore 3 /* token */
        start local 3 // java.lang.String token
         2: .line 348
            aload 0 /* this */
            aload 3 /* token */
            aload 1 /* memento */
            aload 2 /* owner */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getHandleFromMemento:(Ljava/lang/String;Lorg/eclipse/jdt/internal/core/util/MementoTokenizer;Lorg/eclipse/jdt/core/WorkingCopyOwner;)Lorg/eclipse/jdt/core/IJavaElement;
            areturn
        end local 3 // java.lang.String token
        end local 2 // org.eclipse.jdt.core.WorkingCopyOwner owner
        end local 1 // org.eclipse.jdt.internal.core.util.MementoTokenizer memento
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/eclipse/jdt/internal/core/JavaElement;
            0    3     1  memento  Lorg/eclipse/jdt/internal/core/util/MementoTokenizer;
            0    3     2    owner  Lorg/eclipse/jdt/core/WorkingCopyOwner;
            2    3     3    token  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      memento  
      owner    

  public java.lang.String getHandleIdentifier();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
         0: .line 355
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getHandleMemento:()Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaElement;

  public java.lang.String getHandleMemento();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
         0: .line 361
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* buff */
        start local 1 // java.lang.StringBuffer buff
         1: .line 362
            aload 0 /* this */
            aload 1 /* buff */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getHandleMemento:(Ljava/lang/StringBuffer;)V
         2: .line 363
            aload 1 /* buff */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuffer buff
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/core/JavaElement;
            1    3     1  buff  Ljava/lang/StringBuffer;

  protected void getHandleMemento(java.lang.StringBuffer);
    descriptor: (Ljava/lang/StringBuffer;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
        start local 1 // java.lang.StringBuffer buff
         0: .line 366
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.internal.core.JavaElement
            aload 1 /* buff */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getHandleMemento:(Ljava/lang/StringBuffer;)V
         1: .line 367
            aload 1 /* buff */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getHandleMementoDelimiter:()C
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         2: .line 368
            aload 0 /* this */
            aload 1 /* buff */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getElementName:()Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.escapeMementoName:(Ljava/lang/StringBuffer;Ljava/lang/String;)V
         3: .line 369
            return
        end local 1 // java.lang.StringBuffer buff
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/eclipse/jdt/internal/core/JavaElement;
            0    4     1  buff  Ljava/lang/StringBuffer;
    MethodParameters:
      Name  Flags
      buff  

  protected abstract char getHandleMementoDelimiter();
    descriptor: ()C
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT

  public org.eclipse.jdt.core.IJavaModel getJavaModel();
    descriptor: ()Lorg/eclipse/jdt/core/IJavaModel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
         0: .line 380
            aload 0 /* this */
            astore 1 /* current */
        start local 1 // org.eclipse.jdt.core.IJavaElement current
         1: .line 382
      StackMap locals: org.eclipse.jdt.core.IJavaElement
      StackMap stack:
            aload 1 /* current */
            instanceof org.eclipse.jdt.core.IJavaModel
            ifeq 2
            aload 1 /* current */
            checkcast org.eclipse.jdt.core.IJavaModel
            areturn
         2: .line 383
      StackMap locals:
      StackMap stack:
            aload 1 /* current */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            dup
            astore 1 /* current */
            ifnonnull 1
         3: .line 384
            aconst_null
            areturn
        end local 1 // org.eclipse.jdt.core.IJavaElement current
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/eclipse/jdt/internal/core/JavaElement;
            1    4     1  current  Lorg/eclipse/jdt/core/IJavaElement;

  public org.eclipse.jdt.core.IJavaProject getJavaProject();
    descriptor: ()Lorg/eclipse/jdt/core/IJavaProject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
         0: .line 392
            aload 0 /* this */
            astore 1 /* current */
        start local 1 // org.eclipse.jdt.core.IJavaElement current
         1: .line 394
      StackMap locals: org.eclipse.jdt.core.IJavaElement
      StackMap stack:
            aload 1 /* current */
            instanceof org.eclipse.jdt.core.IJavaProject
            ifeq 2
            aload 1 /* current */
            checkcast org.eclipse.jdt.core.IJavaProject
            areturn
         2: .line 395
      StackMap locals:
      StackMap stack:
            aload 1 /* current */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            dup
            astore 1 /* current */
            ifnonnull 1
         3: .line 396
            aconst_null
            areturn
        end local 1 // org.eclipse.jdt.core.IJavaElement current
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/eclipse/jdt/internal/core/JavaElement;
            1    4     1  current  Lorg/eclipse/jdt/core/IJavaElement;

  public org.eclipse.jdt.core.IOpenable getOpenable();
    descriptor: ()Lorg/eclipse/jdt/core/IOpenable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
         0: .line 401
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getOpenableParent:()Lorg/eclipse/jdt/core/IOpenable;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaElement;

  public org.eclipse.jdt.core.IOpenable getOpenableParent();
    descriptor: ()Lorg/eclipse/jdt/core/IOpenable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
         0: .line 410
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaElement.parent:Lorg/eclipse/jdt/internal/core/JavaElement;
            checkcast org.eclipse.jdt.core.IOpenable
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaElement;

  public org.eclipse.jdt.core.IJavaElement getParent();
    descriptor: ()Lorg/eclipse/jdt/core/IJavaElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
         0: .line 417
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaElement.parent:Lorg/eclipse/jdt/internal/core/JavaElement;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaElement;

  public org.eclipse.jdt.core.IJavaElement getPrimaryElement();
    descriptor: ()Lorg/eclipse/jdt/core/IJavaElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
         0: .line 422
            aload 0 /* this */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getPrimaryElement:(Z)Lorg/eclipse/jdt/core/IJavaElement;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaElement;

  public org.eclipse.jdt.core.IJavaElement getPrimaryElement(boolean);
    descriptor: (Z)Lorg/eclipse/jdt/core/IJavaElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
        start local 1 // boolean checkOwner
         0: .line 429
            aload 0 /* this */
            areturn
        end local 1 // boolean checkOwner
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/eclipse/jdt/internal/core/JavaElement;
            0    1     1  checkOwner  Z
    MethodParameters:
            Name  Flags
      checkOwner  

  public org.eclipse.core.resources.IResource getResource();
    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.JavaElement this
         0: .line 433
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.resource:()Lorg/eclipse/core/resources/IResource;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaElement;

  public abstract org.eclipse.core.resources.IResource resource();
    descriptor: ()Lorg/eclipse/core/resources/IResource;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  protected org.eclipse.jdt.core.IJavaElement getSourceElementAt(int);
    descriptor: (I)Lorg/eclipse/jdt/core/IJavaElement;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=11, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
        start local 1 // int position
         0: .line 444
            aload 0 /* this */
            instanceof org.eclipse.jdt.core.ISourceReference
            ifeq 32
         1: .line 445
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getChildren:()[Lorg/eclipse/jdt/core/IJavaElement;
            astore 2 /* children */
        start local 2 // org.eclipse.jdt.core.IJavaElement[] children
         2: .line 446
            aload 2 /* children */
            arraylength
            iconst_1
            isub
            istore 3 /* i */
        start local 3 // int i
         3: goto 30
         4: .line 447
      StackMap locals: org.eclipse.jdt.core.IJavaElement[] int
      StackMap stack:
            aload 2 /* children */
            iload 3 /* i */
            aaload
            astore 4 /* aChild */
        start local 4 // org.eclipse.jdt.core.IJavaElement aChild
         5: .line 448
            aload 4 /* aChild */
            instanceof org.eclipse.jdt.internal.core.SourceRefElement
            ifeq 29
         6: .line 449
            aload 2 /* children */
            iload 3 /* i */
            aaload
            checkcast org.eclipse.jdt.internal.core.SourceRefElement
            astore 5 /* child */
        start local 5 // org.eclipse.jdt.internal.core.SourceRefElement child
         7: .line 450
            aload 5 /* child */
            invokevirtual org.eclipse.jdt.internal.core.SourceRefElement.getSourceRange:()Lorg/eclipse/jdt/core/ISourceRange;
            astore 6 /* range */
        start local 6 // org.eclipse.jdt.core.ISourceRange range
         8: .line 451
            aload 6 /* range */
            invokeinterface org.eclipse.jdt.core.ISourceRange.getOffset:()I
            istore 7 /* start */
        start local 7 // int start
         9: .line 452
            iload 7 /* start */
            aload 6 /* range */
            invokeinterface org.eclipse.jdt.core.ISourceRange.getLength:()I
            iadd
            istore 8 /* end */
        start local 8 // int end
        10: .line 453
            iload 7 /* start */
            iload 1 /* position */
            if_icmpgt 29
            iload 1 /* position */
            iload 8 /* end */
            if_icmpgt 29
        11: .line 454
            aload 5 /* child */
            instanceof org.eclipse.jdt.core.IField
            ifeq 26
        12: .line 456
            iload 7 /* start */
            istore 9 /* declarationStart */
        start local 9 // int declarationStart
        13: .line 457
            aconst_null
            astore 10 /* candidate */
        start local 10 // org.eclipse.jdt.internal.core.SourceRefElement candidate
        14: .line 460
      StackMap locals: org.eclipse.jdt.internal.core.JavaElement int org.eclipse.jdt.core.IJavaElement[] int org.eclipse.jdt.core.IJavaElement org.eclipse.jdt.internal.core.SourceRefElement org.eclipse.jdt.core.ISourceRange int int int org.eclipse.jdt.internal.core.SourceRefElement
      StackMap stack:
            aload 5 /* child */
            checkcast org.eclipse.jdt.core.IField
            invokeinterface org.eclipse.jdt.core.IField.getNameRange:()Lorg/eclipse/jdt/core/ISourceRange;
            astore 6 /* range */
        15: .line 461
            iload 1 /* position */
            aload 6 /* range */
            invokeinterface org.eclipse.jdt.core.ISourceRange.getOffset:()I
            aload 6 /* range */
            invokeinterface org.eclipse.jdt.core.ISourceRange.getLength:()I
            iadd
            if_icmpgt 18
        16: .line 462
            aload 5 /* child */
            astore 10 /* candidate */
        17: .line 463
            goto 21
        18: .line 464
      StackMap locals:
      StackMap stack:
            aload 10 /* candidate */
            ifnonnull 19
            aload 5 /* child */
            iload 1 /* position */
            invokevirtual org.eclipse.jdt.internal.core.SourceRefElement.getSourceElementAt:(I)Lorg/eclipse/jdt/core/IJavaElement;
            goto 20
      StackMap locals:
      StackMap stack:
        19: aload 10 /* candidate */
            iload 1 /* position */
            invokevirtual org.eclipse.jdt.internal.core.SourceRefElement.getSourceElementAt:(I)Lorg/eclipse/jdt/core/IJavaElement;
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.IJavaElement
        20: areturn
        21: .line 466
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ -1
            iload 3 /* i */
            iflt 22
            aload 2 /* children */
            iload 3 /* i */
            aaload
            checkcast org.eclipse.jdt.internal.core.SourceRefElement
            goto 23
      StackMap locals:
      StackMap stack:
        22: aconst_null
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.SourceRefElement
        23: astore 5 /* child */
        24: .line 467
            aload 5 /* child */
            ifnull 25
            aload 5 /* child */
            invokevirtual org.eclipse.jdt.internal.core.SourceRefElement.getSourceRange:()Lorg/eclipse/jdt/core/ISourceRange;
            invokeinterface org.eclipse.jdt.core.ISourceRange.getOffset:()I
            iload 9 /* declarationStart */
            if_icmpeq 14
        25: .line 469
      StackMap locals:
      StackMap stack:
            aload 10 /* candidate */
            iload 1 /* position */
            invokevirtual org.eclipse.jdt.internal.core.SourceRefElement.getSourceElementAt:(I)Lorg/eclipse/jdt/core/IJavaElement;
            areturn
        end local 10 // org.eclipse.jdt.internal.core.SourceRefElement candidate
        end local 9 // int declarationStart
        26: .line 470
      StackMap locals:
      StackMap stack:
            aload 5 /* child */
            instanceof org.eclipse.jdt.core.IParent
            ifeq 28
        27: .line 471
            aload 5 /* child */
            iload 1 /* position */
            invokevirtual org.eclipse.jdt.internal.core.SourceRefElement.getSourceElementAt:(I)Lorg/eclipse/jdt/core/IJavaElement;
            areturn
        28: .line 473
      StackMap locals:
      StackMap stack:
            aload 5 /* child */
            areturn
        end local 8 // int end
        end local 7 // int start
        end local 6 // org.eclipse.jdt.core.ISourceRange range
        end local 5 // org.eclipse.jdt.internal.core.SourceRefElement child
        end local 4 // org.eclipse.jdt.core.IJavaElement aChild
        29: .line 446
      StackMap locals: org.eclipse.jdt.internal.core.JavaElement int org.eclipse.jdt.core.IJavaElement[] int
      StackMap stack:
            iinc 3 /* i */ -1
      StackMap locals:
      StackMap stack:
        30: iload 3 /* i */
            ifge 4
        end local 3 // int i
        end local 2 // org.eclipse.jdt.core.IJavaElement[] children
        31: .line 478
            goto 33
        32: .line 480
      StackMap locals:
      StackMap stack:
            iconst_0
            invokestatic org.eclipse.core.runtime.Assert.isTrue:(Z)Z
            pop
        33: .line 482
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 1 // int position
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   34     0              this  Lorg/eclipse/jdt/internal/core/JavaElement;
            0   34     1          position  I
            2   31     2          children  [Lorg/eclipse/jdt/core/IJavaElement;
            3   31     3                 i  I
            5   29     4            aChild  Lorg/eclipse/jdt/core/IJavaElement;
            7   29     5             child  Lorg/eclipse/jdt/internal/core/SourceRefElement;
            8   29     6             range  Lorg/eclipse/jdt/core/ISourceRange;
            9   29     7             start  I
           10   29     8               end  I
           13   26     9  declarationStart  I
           14   26    10         candidate  Lorg/eclipse/jdt/internal/core/SourceRefElement;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
          Name  Flags
      position  

  public org.eclipse.jdt.internal.core.SourceMapper getSourceMapper();
    descriptor: ()Lorg/eclipse/jdt/internal/core/SourceMapper;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
         0: .line 490
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.internal.core.JavaElement
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getSourceMapper:()Lorg/eclipse/jdt/internal/core/SourceMapper;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaElement;

  public org.eclipse.core.runtime.jobs.ISchedulingRule getSchedulingRule();
    descriptor: ()Lorg/eclipse/core/runtime/jobs/ISchedulingRule;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
         0: .line 495
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.resource:()Lorg/eclipse/core/resources/IResource;
            astore 1 /* resource */
        start local 1 // org.eclipse.core.resources.IResource resource
         1: .line 496
            aload 1 /* resource */
            ifnonnull 3
         2: .line 520
            new org.eclipse.jdt.internal.core.JavaElement$1NoResourceSchedulingRule
            dup
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getPath:()Lorg/eclipse/core/runtime/IPath;
            invokespecial org.eclipse.jdt.internal.core.JavaElement$1NoResourceSchedulingRule.<init>:(Lorg/eclipse/jdt/internal/core/JavaElement;Lorg/eclipse/core/runtime/IPath;)V
            areturn
         3: .line 522
      StackMap locals: org.eclipse.core.resources.IResource
      StackMap stack:
            aload 1 /* resource */
            areturn
        end local 1 // org.eclipse.core.resources.IResource resource
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/eclipse/jdt/internal/core/JavaElement;
            1    4     1  resource  Lorg/eclipse/core/resources/IResource;

  public boolean hasChildren();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
         0: .line 531
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getInfo:(Lorg/eclipse/jdt/core/IJavaElement;)Ljava/lang/Object;
            astore 1 /* elementInfo */
        start local 1 // java.lang.Object elementInfo
         1: .line 532
            aload 1 /* elementInfo */
            instanceof org.eclipse.jdt.internal.core.JavaElementInfo
            ifeq 4
         2: .line 533
            aload 1 /* elementInfo */
            checkcast org.eclipse.jdt.internal.core.JavaElementInfo
            invokevirtual org.eclipse.jdt.internal.core.JavaElementInfo.getChildren:()[Lorg/eclipse/jdt/core/IJavaElement;
            arraylength
            ifle 3
            iconst_1
            ireturn
      StackMap locals: java.lang.Object
      StackMap stack:
         3: iconst_0
            ireturn
         4: .line 535
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // java.lang.Object elementInfo
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Lorg/eclipse/jdt/internal/core/JavaElement;
            1    5     1  elementInfo  Ljava/lang/Object;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
         0: .line 547
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaElement.parent:Lorg/eclipse/jdt/internal/core/JavaElement;
            ifnonnull 1
            aload 0 /* this */
            invokespecial java.lang.Object.hashCode:()I
            ireturn
         1: .line 548
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getElementName:()Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.JavaElement.parent:Lorg/eclipse/jdt/internal/core/JavaElement;
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.hashCode:()I
            invokestatic org.eclipse.jdt.internal.core.util.Util.combineHashCodes:(II)I
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/JavaElement;

  public boolean isAncestorOf(org.eclipse.jdt.core.IJavaElement);
    descriptor: (Lorg/eclipse/jdt/core/IJavaElement;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
        start local 1 // org.eclipse.jdt.core.IJavaElement e
         0: .line 555
            aload 1 /* e */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            astore 2 /* parentElement */
        start local 2 // org.eclipse.jdt.core.IJavaElement parentElement
         1: .line 556
            goto 3
         2: .line 557
      StackMap locals: org.eclipse.jdt.core.IJavaElement
      StackMap stack:
            aload 2 /* parentElement */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            astore 2 /* parentElement */
         3: .line 556
      StackMap locals:
      StackMap stack:
            aload 2 /* parentElement */
            ifnull 4
            aload 2 /* parentElement */
            aload 0 /* this */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 2
         4: .line 559
      StackMap locals:
      StackMap stack:
            aload 2 /* parentElement */
            ifnull 5
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_0
            ireturn
        end local 2 // org.eclipse.jdt.core.IJavaElement parentElement
        end local 1 // org.eclipse.jdt.core.IJavaElement e
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Lorg/eclipse/jdt/internal/core/JavaElement;
            0    6     1              e  Lorg/eclipse/jdt/core/IJavaElement;
            1    6     2  parentElement  Lorg/eclipse/jdt/core/IJavaElement;
    MethodParameters:
      Name  Flags
      e     

  public boolean isReadOnly();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
         0: .line 567
            iconst_0
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaElement;

  public org.eclipse.jdt.core.JavaModelException newNotPresentException();
    descriptor: ()Lorg/eclipse/jdt/core/JavaModelException;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
         0: .line 573
            new org.eclipse.jdt.core.JavaModelException
            dup
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.newDoesNotExistStatus:()Lorg/eclipse/jdt/internal/core/JavaModelStatus;
            invokespecial org.eclipse.jdt.core.JavaModelException.<init>:(Lorg/eclipse/jdt/core/IJavaModelStatus;)V
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaElement;

  protected org.eclipse.jdt.internal.core.JavaModelStatus newDoesNotExistStatus();
    descriptor: ()Lorg/eclipse/jdt/internal/core/JavaModelStatus;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
         0: .line 576
            new org.eclipse.jdt.internal.core.JavaModelStatus
            dup
            sipush 969
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.JavaModelStatus.<init>:(ILorg/eclipse/jdt/core/IJavaElement;)V
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaElement;

  public org.eclipse.jdt.core.JavaModelException newJavaModelException(org.eclipse.core.runtime.IStatus);
    descriptor: (Lorg/eclipse/core/runtime/IStatus;)Lorg/eclipse/jdt/core/JavaModelException;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
        start local 1 // org.eclipse.core.runtime.IStatus status
         0: .line 582
            aload 1 /* status */
            instanceof org.eclipse.jdt.core.IJavaModelStatus
            ifeq 2
         1: .line 583
            new org.eclipse.jdt.core.JavaModelException
            dup
            aload 1 /* status */
            checkcast org.eclipse.jdt.core.IJavaModelStatus
            invokespecial org.eclipse.jdt.core.JavaModelException.<init>:(Lorg/eclipse/jdt/core/IJavaModelStatus;)V
            areturn
         2: .line 585
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.core.JavaModelException
            dup
            new org.eclipse.jdt.internal.core.JavaModelStatus
            dup
            aload 1 /* status */
            invokeinterface org.eclipse.core.runtime.IStatus.getSeverity:()I
            aload 1 /* status */
            invokeinterface org.eclipse.core.runtime.IStatus.getCode:()I
            aload 1 /* status */
            invokeinterface org.eclipse.core.runtime.IStatus.getMessage:()Ljava/lang/String;
            invokespecial org.eclipse.jdt.internal.core.JavaModelStatus.<init>:(IILjava/lang/String;)V
            invokespecial org.eclipse.jdt.core.JavaModelException.<init>:(Lorg/eclipse/jdt/core/IJavaModelStatus;)V
            areturn
        end local 1 // org.eclipse.core.runtime.IStatus status
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/eclipse/jdt/internal/core/JavaElement;
            0    3     1  status  Lorg/eclipse/core/runtime/IStatus;
    MethodParameters:
        Name  Flags
      status  

  protected java.lang.Object openWhenClosed(java.lang.Object, boolean, org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Ljava/lang/Object;ZLorg/eclipse/core/runtime/IProgressMonitor;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=10, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
        start local 1 // java.lang.Object info
        start local 2 // boolean forceAdd
        start local 3 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 592
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            astore 4 /* manager */
        start local 4 // org.eclipse.jdt.internal.core.JavaModelManager manager
         1: .line 593
            aload 4 /* manager */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.hasTemporaryCache:()Z
            istore 5 /* hadTemporaryCache */
        start local 5 // boolean hadTemporaryCache
         2: .line 595
            aload 4 /* manager */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getTemporaryCache:()Ljava/util/HashMap;
            astore 6 /* newElements */
        start local 6 // java.util.HashMap newElements
         3: .line 596
            aload 0 /* this */
            aload 1 /* info */
            aload 6 /* newElements */
            aload 3 /* monitor */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.generateInfos:(Ljava/lang/Object;Ljava/util/HashMap;Lorg/eclipse/core/runtime/IProgressMonitor;)V
         4: .line 597
            aload 1 /* info */
            ifnonnull 6
         5: .line 598
            aload 6 /* newElements */
            aload 0 /* this */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 1 /* info */
         6: .line 601
      StackMap locals: org.eclipse.jdt.internal.core.JavaModelManager int java.util.HashMap
      StackMap stack:
            aload 1 /* info */
            ifnonnull 13
         7: .line 602
            aload 4 /* manager */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.getInfo:(Lorg/eclipse/jdt/core/IJavaElement;)Ljava/lang/Object;
            astore 1 /* info */
         8: .line 603
            aload 1 /* info */
            ifnull 13
         9: .line 604
            aload 1 /* info */
            astore 9
        10: .line 620
            iload 5 /* hadTemporaryCache */
            ifne 12
        11: .line 621
            aload 4 /* manager */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.resetTemporaryCache:()V
        12: .line 604
      StackMap locals: org.eclipse.jdt.internal.core.JavaElement java.lang.Object int org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.internal.core.JavaModelManager int java.util.HashMap top top java.lang.Object
      StackMap stack:
            aload 9
            areturn
        13: .line 607
      StackMap locals: org.eclipse.jdt.internal.core.JavaElement java.lang.Object int org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.internal.core.JavaModelManager int java.util.HashMap
      StackMap stack:
            aload 1 /* info */
            ifnonnull 18
        14: .line 610
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getOpenable:()Lorg/eclipse/jdt/core/IOpenable;
            checkcast org.eclipse.jdt.internal.core.Openable
            astore 7 /* openable */
        start local 7 // org.eclipse.jdt.internal.core.Openable openable
        15: .line 611
            aload 6 /* newElements */
            aload 7 /* openable */
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 17
        16: .line 612
            aload 7 /* openable */
            invokevirtual org.eclipse.jdt.internal.core.Openable.closeBuffer:()V
        17: .line 614
      StackMap locals: org.eclipse.jdt.internal.core.Openable
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.newNotPresentException:()Lorg/eclipse/jdt/core/JavaModelException;
            athrow
        end local 7 // org.eclipse.jdt.internal.core.Openable openable
        18: .line 616
      StackMap locals:
      StackMap stack:
            iload 5 /* hadTemporaryCache */
            ifne 25
        19: .line 617
            aload 4 /* manager */
            aload 0 /* this */
            aload 1 /* info */
            iload 2 /* forceAdd */
            aload 6 /* newElements */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.putInfos:(Lorg/eclipse/jdt/core/IJavaElement;Ljava/lang/Object;ZLjava/util/Map;)Ljava/lang/Object;
            astore 1 /* info */
        end local 6 // java.util.HashMap newElements
        20: .line 619
            goto 25
      StackMap locals: org.eclipse.jdt.internal.core.JavaElement java.lang.Object int org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.internal.core.JavaModelManager int
      StackMap stack: java.lang.Throwable
        21: astore 8
        22: .line 620
            iload 5 /* hadTemporaryCache */
            ifne 24
        23: .line 621
            aload 4 /* manager */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.resetTemporaryCache:()V
        24: .line 623
      StackMap locals: org.eclipse.jdt.internal.core.JavaElement java.lang.Object int org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.internal.core.JavaModelManager int top top java.lang.Throwable
      StackMap stack:
            aload 8
            athrow
        25: .line 620
      StackMap locals: org.eclipse.jdt.internal.core.JavaElement java.lang.Object int org.eclipse.core.runtime.IProgressMonitor org.eclipse.jdt.internal.core.JavaModelManager int
      StackMap stack:
            iload 5 /* hadTemporaryCache */
            ifne 27
        26: .line 621
            aload 4 /* manager */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.resetTemporaryCache:()V
        27: .line 624
      StackMap locals:
      StackMap stack:
            aload 1 /* info */
            areturn
        end local 5 // boolean hadTemporaryCache
        end local 4 // org.eclipse.jdt.internal.core.JavaModelManager manager
        end local 3 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 2 // boolean forceAdd
        end local 1 // java.lang.Object info
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   28     0               this  Lorg/eclipse/jdt/internal/core/JavaElement;
            0   28     1               info  Ljava/lang/Object;
            0   28     2           forceAdd  Z
            0   28     3            monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            1   28     4            manager  Lorg/eclipse/jdt/internal/core/JavaModelManager;
            2   28     5  hadTemporaryCache  Z
            3   20     6        newElements  Ljava/util/HashMap<Lorg/eclipse/jdt/core/IJavaElement;Ljava/lang/Object;>;
           15   18     7           openable  Lorg/eclipse/jdt/internal/core/Openable;
      Exception table:
        from    to  target  type
           2    10      21  any
          13    21      21  any
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
          Name  Flags
      info      
      forceAdd  
      monitor   

  public java.lang.String readableName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
         0: .line 629
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getElementName:()Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaElement;

  public org.eclipse.jdt.internal.core.JavaElement resolved(org.eclipse.jdt.internal.compiler.lookup.Binding);
    descriptor: (Lorg/eclipse/jdt/internal/compiler/lookup/Binding;)Lorg/eclipse/jdt/internal/core/JavaElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
        start local 1 // org.eclipse.jdt.internal.compiler.lookup.Binding binding
         0: .line 632
            aload 0 /* this */
            areturn
        end local 1 // org.eclipse.jdt.internal.compiler.lookup.Binding binding
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/eclipse/jdt/internal/core/JavaElement;
            0    1     1  binding  Lorg/eclipse/jdt/internal/compiler/lookup/Binding;
    MethodParameters:
         Name  Flags
      binding  

  public org.eclipse.jdt.internal.core.JavaElement unresolved();
    descriptor: ()Lorg/eclipse/jdt/internal/core/JavaElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
         0: .line 635
            aload 0 /* this */
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaElement;

  protected java.lang.String tabString(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
        start local 1 // int tab
         0: .line 638
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 2 /* buffer */
        start local 2 // java.lang.StringBuffer buffer
         1: .line 639
            iload 1 /* tab */
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 640
      StackMap locals: java.lang.StringBuffer int
      StackMap stack:
            aload 2 /* buffer */
            ldc "  "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         4: .line 639
            iinc 3 /* i */ -1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            ifgt 3
        end local 3 // int i
         6: .line 641
            aload 2 /* buffer */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuffer buffer
        end local 1 // int tab
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Lorg/eclipse/jdt/internal/core/JavaElement;
            0    7     1     tab  I
            1    7     2  buffer  Ljava/lang/StringBuffer;
            2    6     3       i  I
    MethodParameters:
      Name  Flags
      tab   

  public java.lang.String toDebugString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
         0: .line 647
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* buffer */
        start local 1 // java.lang.StringBuffer buffer
         1: .line 648
            aload 0 /* this */
            iconst_0
            aload 1 /* buffer */
            getstatic org.eclipse.jdt.internal.core.JavaElement.NO_INFO:Ljava/lang/Object;
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.toStringInfo:(ILjava/lang/StringBuffer;Ljava/lang/Object;Z)V
         2: .line 649
            aload 1 /* buffer */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuffer buffer
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/eclipse/jdt/internal/core/JavaElement;
            1    3     1  buffer  Ljava/lang/StringBuffer;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
         0: .line 656
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* buffer */
        start local 1 // java.lang.StringBuffer buffer
         1: .line 657
            aload 0 /* this */
            iconst_0
            aload 1 /* buffer */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.toString:(ILjava/lang/StringBuffer;)V
         2: .line 658
            aload 1 /* buffer */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuffer buffer
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/eclipse/jdt/internal/core/JavaElement;
            1    3     1  buffer  Ljava/lang/StringBuffer;

  protected void toString(int, java.lang.StringBuffer);
    descriptor: (ILjava/lang/StringBuffer;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
        start local 1 // int tab
        start local 2 // java.lang.StringBuffer buffer
         0: .line 664
            aload 0 /* this */
            iload 1 /* tab */
            aload 2 /* buffer */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.toStringInfo:(ILjava/lang/StringBuffer;)Ljava/lang/Object;
            astore 3 /* info */
        start local 3 // java.lang.Object info
         1: .line 665
            iload 1 /* tab */
            ifne 3
         2: .line 666
            aload 0 /* this */
            aload 2 /* buffer */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.toStringAncestors:(Ljava/lang/StringBuffer;)V
         3: .line 668
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            iload 1 /* tab */
            aload 2 /* buffer */
            aload 3 /* info */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.toStringChildren:(ILjava/lang/StringBuffer;Ljava/lang/Object;)V
         4: .line 669
            return
        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.JavaElement this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/eclipse/jdt/internal/core/JavaElement;
            0    5     1     tab  I
            0    5     2  buffer  Ljava/lang/StringBuffer;
            1    5     3    info  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      tab     
      buffer  

  public java.lang.String toStringWithAncestors();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
         0: .line 674
            aload 0 /* this */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.toStringWithAncestors:(Z)Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/JavaElement;

  public java.lang.String toStringWithAncestors(boolean);
    descriptor: (Z)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
        start local 1 // boolean showResolvedInfo
         0: .line 680
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 2 /* buffer */
        start local 2 // java.lang.StringBuffer buffer
         1: .line 681
            aload 0 /* this */
            iconst_0
            aload 2 /* buffer */
            getstatic org.eclipse.jdt.internal.core.JavaElement.NO_INFO:Ljava/lang/Object;
            iload 1 /* showResolvedInfo */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.toStringInfo:(ILjava/lang/StringBuffer;Ljava/lang/Object;Z)V
         2: .line 682
            aload 0 /* this */
            aload 2 /* buffer */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.toStringAncestors:(Ljava/lang/StringBuffer;)V
         3: .line 683
            aload 2 /* buffer */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuffer buffer
        end local 1 // boolean showResolvedInfo
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lorg/eclipse/jdt/internal/core/JavaElement;
            0    4     1  showResolvedInfo  Z
            1    4     2            buffer  Ljava/lang/StringBuffer;
    MethodParameters:
                  Name  Flags
      showResolvedInfo  

  protected void toStringAncestors(java.lang.StringBuffer);
    descriptor: (Ljava/lang/StringBuffer;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
        start local 1 // java.lang.StringBuffer buffer
         0: .line 689
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.internal.core.JavaElement
            astore 2 /* parentElement */
        start local 2 // org.eclipse.jdt.internal.core.JavaElement parentElement
         1: .line 690
            aload 2 /* parentElement */
            ifnull 6
            aload 2 /* parentElement */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            ifnull 6
         2: .line 691
            aload 1 /* buffer */
            ldc " [in "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         3: .line 692
            aload 2 /* parentElement */
            iconst_0
            aload 1 /* buffer */
            getstatic org.eclipse.jdt.internal.core.JavaElement.NO_INFO:Ljava/lang/Object;
            iconst_0
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.toStringInfo:(ILjava/lang/StringBuffer;Ljava/lang/Object;Z)V
         4: .line 693
            aload 2 /* parentElement */
            aload 1 /* buffer */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.toStringAncestors:(Ljava/lang/StringBuffer;)V
         5: .line 694
            aload 1 /* buffer */
            ldc "]"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         6: .line 696
      StackMap locals: org.eclipse.jdt.internal.core.JavaElement
      StackMap stack:
            return
        end local 2 // org.eclipse.jdt.internal.core.JavaElement parentElement
        end local 1 // java.lang.StringBuffer buffer
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lorg/eclipse/jdt/internal/core/JavaElement;
            0    7     1         buffer  Ljava/lang/StringBuffer;
            1    7     2  parentElement  Lorg/eclipse/jdt/internal/core/JavaElement;
    MethodParameters:
        Name  Flags
      buffer  

  protected void toStringChildren(int, java.lang.StringBuffer, java.lang.Object);
    descriptor: (ILjava/lang/StringBuffer;Ljava/lang/Object;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
        start local 1 // int tab
        start local 2 // java.lang.StringBuffer buffer
        start local 3 // java.lang.Object info
         0: .line 701
            aload 3 /* info */
            ifnull 1
            aload 3 /* info */
            instanceof org.eclipse.jdt.internal.core.JavaElementInfo
            ifne 2
      StackMap locals:
      StackMap stack:
         1: return
         2: .line 702
      StackMap locals:
      StackMap stack:
            aload 3 /* info */
            checkcast org.eclipse.jdt.internal.core.JavaElementInfo
            invokevirtual org.eclipse.jdt.internal.core.JavaElementInfo.getChildren:()[Lorg/eclipse/jdt/core/IJavaElement;
            astore 4 /* children */
        start local 4 // org.eclipse.jdt.core.IJavaElement[] children
         3: .line 703
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 8
         5: .line 704
      StackMap locals: org.eclipse.jdt.core.IJavaElement[] int
      StackMap stack:
            aload 2 /* buffer */
            ldc "\n"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         6: .line 705
            aload 4 /* children */
            iload 5 /* i */
            aaload
            checkcast org.eclipse.jdt.internal.core.JavaElement
            iload 1 /* tab */
            iconst_1
            iadd
            aload 2 /* buffer */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.toString:(ILjava/lang/StringBuffer;)V
         7: .line 703
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 5 /* i */
            aload 4 /* children */
            arraylength
            if_icmplt 5
        end local 5 // int i
         9: .line 707
            return
        end local 4 // org.eclipse.jdt.core.IJavaElement[] children
        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.JavaElement this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lorg/eclipse/jdt/internal/core/JavaElement;
            0   10     1       tab  I
            0   10     2    buffer  Ljava/lang/StringBuffer;
            0   10     3      info  Ljava/lang/Object;
            3   10     4  children  [Lorg/eclipse/jdt/core/IJavaElement;
            4    9     5         i  I
    MethodParameters:
        Name  Flags
      tab     
      buffer  
      info    

  public java.lang.Object toStringInfo(int, java.lang.StringBuffer);
    descriptor: (ILjava/lang/StringBuffer;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
        start local 1 // int tab
        start local 2 // java.lang.StringBuffer buffer
         0: .line 712
            invokestatic org.eclipse.jdt.internal.core.JavaModelManager.getJavaModelManager:()Lorg/eclipse/jdt/internal/core/JavaModelManager;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaModelManager.peekAtInfo:(Lorg/eclipse/jdt/core/IJavaElement;)Ljava/lang/Object;
            astore 3 /* info */
        start local 3 // java.lang.Object info
         1: .line 713
            aload 0 /* this */
            iload 1 /* tab */
            aload 2 /* buffer */
            aload 3 /* info */
            iconst_1
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.toStringInfo:(ILjava/lang/StringBuffer;Ljava/lang/Object;Z)V
         2: .line 714
            aload 3 /* info */
            areturn
        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.JavaElement this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/eclipse/jdt/internal/core/JavaElement;
            0    3     1     tab  I
            0    3     2  buffer  Ljava/lang/StringBuffer;
            1    3     3    info  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      tab     
      buffer  

  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.JavaElement 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 721
            aload 2 /* buffer */
            aload 0 /* this */
            iload 1 /* tab */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.tabString:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         1: .line 722
            aload 0 /* this */
            aload 2 /* buffer */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.toStringName:(Ljava/lang/StringBuffer;)V
         2: .line 723
            aload 3 /* info */
            ifnonnull 4
         3: .line 724
            aload 2 /* buffer */
            ldc " (not open)"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         4: .line 726
      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.JavaElement this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    5     0              this  Lorg/eclipse/jdt/internal/core/JavaElement;
            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  

  protected void toStringName(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.JavaElement this
        start local 1 // java.lang.StringBuffer buffer
         0: .line 731
            aload 1 /* buffer */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getElementName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         1: .line 732
            return
        end local 1 // java.lang.StringBuffer buffer
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/eclipse/jdt/internal/core/JavaElement;
            0    2     1  buffer  Ljava/lang/StringBuffer;
    MethodParameters:
        Name  Flags
      buffer  

  protected java.net.URL getJavadocBaseLocation();
    descriptor: ()Ljava/net/URL;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
         0: .line 735
            aload 0 /* this */
            iconst_3
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getAncestor:(I)Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.core.IPackageFragmentRoot
            astore 1 /* root */
        start local 1 // org.eclipse.jdt.core.IPackageFragmentRoot root
         1: .line 736
            aload 1 /* root */
            ifnonnull 3
         2: .line 737
            aconst_null
            areturn
         3: .line 740
      StackMap locals: org.eclipse.jdt.core.IPackageFragmentRoot
      StackMap stack:
            aload 1 /* root */
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.getKind:()I
            iconst_2
            if_icmpne 15
         4: .line 741
            aconst_null
            astore 2 /* entry */
        start local 2 // org.eclipse.jdt.core.IClasspathEntry entry
         5: .line 743
            aload 1 /* root */
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.getResolvedClasspathEntry:()Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 2 /* entry */
         6: .line 744
            aload 2 /* entry */
            invokestatic org.eclipse.jdt.internal.core.JavaElement.getLibraryJavadocLocation:(Lorg/eclipse/jdt/core/IClasspathEntry;)Ljava/net/URL;
            astore 3 /* url */
        start local 3 // java.net.URL url
         7: .line 745
            aload 3 /* url */
            ifnull 11
         8: .line 746
            aload 3 /* url */
         9: areturn
        end local 3 // java.net.URL url
        10: .line 749
      StackMap locals: org.eclipse.jdt.internal.core.JavaElement org.eclipse.jdt.core.IPackageFragmentRoot org.eclipse.jdt.core.IClasspathEntry
      StackMap stack: org.eclipse.jdt.core.JavaModelException
            pop
        11: .line 753
      StackMap locals:
      StackMap stack:
            aload 1 /* root */
            invokeinterface org.eclipse.jdt.core.IPackageFragmentRoot.getRawClasspathEntry:()Lorg/eclipse/jdt/core/IClasspathEntry;
            astore 2 /* entry */
        12: .line 754
            aload 2 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            tableswitch { // 1 - 4
                    1: 13
                    2: 14
                    3: 14
                    4: 13
              default: 14
          }
        13: .line 757
      StackMap locals:
      StackMap stack:
            aload 2 /* entry */
            invokestatic org.eclipse.jdt.internal.core.JavaElement.getLibraryJavadocLocation:(Lorg/eclipse/jdt/core/IClasspathEntry;)Ljava/net/URL;
            areturn
        14: .line 759
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // org.eclipse.jdt.core.IClasspathEntry entry
        15: .line 762
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // org.eclipse.jdt.core.IPackageFragmentRoot root
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   16     0   this  Lorg/eclipse/jdt/internal/core/JavaElement;
            1   16     1   root  Lorg/eclipse/jdt/core/IPackageFragmentRoot;
            5   15     2  entry  Lorg/eclipse/jdt/core/IClasspathEntry;
            7   10     3    url  Ljava/net/URL;
      Exception table:
        from    to  target  type
           5     9      10  Class org.eclipse.jdt.core.JavaModelException
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException

  protected static java.net.URL getLibraryJavadocLocation(org.eclipse.jdt.core.IClasspathEntry);
    descriptor: (Lorg/eclipse/jdt/core/IClasspathEntry;)Ljava/net/URL;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=1
        start local 0 // org.eclipse.jdt.core.IClasspathEntry entry
         0: .line 766
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getEntryKind:()I
            tableswitch { // 1 - 4
                    1: 1
                    2: 2
                    3: 2
                    4: 1
              default: 2
          }
         1: .line 769
      StackMap locals:
      StackMap stack:
            goto 3
         2: .line 771
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Entry must be of kind CPE_LIBRARY or CPE_VARIABLE"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 774
      StackMap locals:
      StackMap stack:
            aload 0 /* entry */
            invokeinterface org.eclipse.jdt.core.IClasspathEntry.getExtraAttributes:()[Lorg/eclipse/jdt/core/IClasspathAttribute;
            astore 1 /* extraAttributes */
        start local 1 // org.eclipse.jdt.core.IClasspathAttribute[] extraAttributes
         4: .line 775
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         5: goto 14
         6: .line 776
      StackMap locals: org.eclipse.jdt.core.IClasspathAttribute[] int
      StackMap stack:
            aload 1 /* extraAttributes */
            iload 2 /* i */
            aaload
            astore 3 /* attrib */
        start local 3 // org.eclipse.jdt.core.IClasspathAttribute attrib
         7: .line 777
            ldc "javadoc_location"
            aload 3 /* attrib */
            invokeinterface org.eclipse.jdt.core.IClasspathAttribute.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
         8: .line 778
            aload 3 /* attrib */
            invokeinterface org.eclipse.jdt.core.IClasspathAttribute.getValue:()Ljava/lang/String;
            astore 4 /* value */
        start local 4 // java.lang.String value
         9: .line 780
            new java.net.URL
            dup
            aload 4 /* value */
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
        10: areturn
        11: .line 781
      StackMap locals: org.eclipse.jdt.core.IClasspathEntry org.eclipse.jdt.core.IClasspathAttribute[] int org.eclipse.jdt.core.IClasspathAttribute java.lang.String
      StackMap stack: java.net.MalformedURLException
            pop
        12: .line 782
            new org.eclipse.jdt.core.JavaModelException
            dup
            new org.eclipse.jdt.internal.core.JavaModelStatus
            dup
            sipush 1008
            aload 4 /* value */
            invokespecial org.eclipse.jdt.internal.core.JavaModelStatus.<init>:(ILjava/lang/String;)V
            invokespecial org.eclipse.jdt.core.JavaModelException.<init>:(Lorg/eclipse/jdt/core/IJavaModelStatus;)V
            athrow
        end local 4 // java.lang.String value
        end local 3 // org.eclipse.jdt.core.IClasspathAttribute attrib
        13: .line 775
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 2 /* i */
            aload 1 /* extraAttributes */
            arraylength
            if_icmplt 6
        end local 2 // int i
        15: .line 786
            aconst_null
            areturn
        end local 1 // org.eclipse.jdt.core.IClasspathAttribute[] extraAttributes
        end local 0 // org.eclipse.jdt.core.IClasspathEntry entry
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   16     0            entry  Lorg/eclipse/jdt/core/IClasspathEntry;
            4   16     1  extraAttributes  [Lorg/eclipse/jdt/core/IClasspathAttribute;
            5   15     2                i  I
            7   13     3           attrib  Lorg/eclipse/jdt/core/IClasspathAttribute;
            9   13     4            value  Ljava/lang/String;
      Exception table:
        from    to  target  type
           9    10      11  Class java.net.MalformedURLException
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
       Name  Flags
      entry  

  public java.lang.String getAttachedJavadoc(org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Lorg/eclipse/core/runtime/IProgressMonitor;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
        start local 1 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 791
            aconst_null
            areturn
        end local 1 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/eclipse/jdt/internal/core/JavaElement;
            0    1     1  monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
         Name  Flags
      monitor  

  int getIndexOf(byte[], byte[], int, int);
    descriptor: ([B[BII)I
    flags: (0x0000) 
    Code:
      stack=4, locals=10, args_size=5
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
        start local 1 // byte[] array
        start local 2 // byte[] toBeFound
        start local 3 // int start
        start local 4 // int end
         0: .line 795
            aload 1 /* array */
            ifnull 1
            aload 2 /* toBeFound */
            ifnonnull 2
         1: .line 796
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
         2: .line 797
      StackMap locals:
      StackMap stack:
            aload 2 /* toBeFound */
            arraylength
            istore 5 /* toBeFoundLength */
        start local 5 // int toBeFoundLength
         3: .line 798
            iload 4 /* end */
            iconst_m1
            if_icmpeq 4
            iload 4 /* end */
            aload 1 /* array */
            arraylength
            if_icmpge 4
            iload 4 /* end */
            goto 5
      StackMap locals: int
      StackMap stack:
         4: aload 1 /* array */
            arraylength
      StackMap locals:
      StackMap stack: int
         5: istore 6 /* arrayLength */
        start local 6 // int arrayLength
         6: .line 799
            iload 6 /* arrayLength */
            iload 5 /* toBeFoundLength */
            if_icmpge 8
         7: .line 800
            iconst_m1
            ireturn
         8: .line 801
      StackMap locals: int
      StackMap stack:
            iload 3 /* start */
            istore 7 /* i */
        start local 7 // int i
         9: iload 6 /* arrayLength */
            iload 5 /* toBeFoundLength */
            isub
            iconst_1
            iadd
            istore 8 /* max */
        start local 8 // int max
        10: goto 20
        11: .line 802
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* array */
            iload 7 /* i */
            baload
            aload 2 /* toBeFound */
            iconst_0
            baload
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.isSameCharacter:(BB)Z
            ifeq 19
        12: .line 803
            iconst_1
            istore 9 /* j */
        start local 9 // int j
        13: goto 17
        14: .line 804
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* array */
            iload 7 /* i */
            iload 9 /* j */
            iadd
            baload
            aload 2 /* toBeFound */
            iload 9 /* j */
            baload
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.isSameCharacter:(BB)Z
            ifne 16
        15: .line 805
            goto 19
        16: .line 803
      StackMap locals:
      StackMap stack:
            iinc 9 /* j */ 1
      StackMap locals:
      StackMap stack:
        17: iload 9 /* j */
            iload 5 /* toBeFoundLength */
            if_icmplt 14
        end local 9 // int j
        18: .line 807
            iload 7 /* i */
            ireturn
        19: .line 801
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 7 /* i */
            iload 8 /* max */
            if_icmplt 11
        end local 8 // int max
        end local 7 // int i
        21: .line 810
            iconst_m1
            ireturn
        end local 6 // int arrayLength
        end local 5 // int toBeFoundLength
        end local 4 // int end
        end local 3 // int start
        end local 2 // byte[] toBeFound
        end local 1 // byte[] array
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   22     0             this  Lorg/eclipse/jdt/internal/core/JavaElement;
            0   22     1            array  [B
            0   22     2        toBeFound  [B
            0   22     3            start  I
            0   22     4              end  I
            3   22     5  toBeFoundLength  I
            6   22     6      arrayLength  I
            9   21     7                i  I
           10   21     8              max  I
           13   18     9                j  I
    MethodParameters:
           Name  Flags
      array      
      toBeFound  
      start      
      end        

  boolean isSameCharacter(byte, byte);
    descriptor: (BB)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
        start local 1 // byte b1
        start local 2 // byte b2
         0: .line 813
            iload 1 /* b1 */
            iload 2 /* b2 */
            if_icmpeq 1
            iload 1 /* b1 */
            i2c
            invokestatic java.lang.Character.toUpperCase:(C)C
            iload 2 /* b2 */
            i2c
            invokestatic java.lang.Character.toUpperCase:(C)C
            if_icmpne 2
         1: .line 814
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 816
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // byte b2
        end local 1 // byte b1
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jdt/internal/core/JavaElement;
            0    3     1    b1  B
            0    3     2    b2  B
    MethodParameters:
      Name  Flags
      b1    
      b2    

  protected void validateAndCache(java.net.URL, java.io.FileNotFoundException);
    descriptor: (Ljava/net/URL;Ljava/io/FileNotFoundException;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
        start local 1 // java.net.URL baseLoc
        start local 2 // java.io.FileNotFoundException e
         0: .line 823
            aload 1 /* baseLoc */
            invokevirtual java.net.URL.toString:()Ljava/lang/String;
            astore 3 /* url */
        start local 3 // java.lang.String url
         1: .line 824
            getstatic org.eclipse.jdt.internal.core.JavaElement.validURLs:Ljava/util/Set;
            ifnull 2
            getstatic org.eclipse.jdt.internal.core.JavaElement.validURLs:Ljava/util/Set;
            aload 3 /* url */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 2
            return
         2: .line 826
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.JavaElement.invalidURLs:Ljava/util/Set;
            ifnull 4
            getstatic org.eclipse.jdt.internal.core.JavaElement.invalidURLs:Ljava/util/Set;
            aload 3 /* url */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 827
            new org.eclipse.jdt.core.JavaModelException
            dup
            aload 2 /* e */
            sipush 1008
            invokespecial org.eclipse.jdt.core.JavaModelException.<init>:(Ljava/lang/Throwable;I)V
            athrow
         4: .line 829
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* input */
        start local 4 // java.io.InputStream input
         5: .line 831
            aload 1 /* baseLoc */
            invokevirtual java.net.URL.openConnection:()Ljava/net/URLConnection;
            astore 5 /* connection */
        start local 5 // java.net.URLConnection connection
         6: .line 832
            aload 5 /* connection */
            invokevirtual java.net.URLConnection.getInputStream:()Ljava/io/InputStream;
            astore 4 /* input */
         7: .line 833
            getstatic org.eclipse.jdt.internal.core.JavaElement.validURLs:Ljava/util/Set;
            ifnonnull 9
         8: .line 834
            new java.util.HashSet
            dup
            iconst_1
            invokespecial java.util.HashSet.<init>:(I)V
            putstatic org.eclipse.jdt.internal.core.JavaElement.validURLs:Ljava/util/Set;
         9: .line 836
      StackMap locals: java.io.InputStream java.net.URLConnection
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.JavaElement.validURLs:Ljava/util/Set;
            aload 3 /* url */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // java.net.URLConnection connection
        10: .line 837
            goto 22
      StackMap locals: org.eclipse.jdt.internal.core.JavaElement java.net.URL java.io.FileNotFoundException java.lang.String java.io.InputStream
      StackMap stack: java.lang.Exception
        11: pop
        12: .line 838
            getstatic org.eclipse.jdt.internal.core.JavaElement.invalidURLs:Ljava/util/Set;
            ifnonnull 14
        13: .line 839
            new java.util.HashSet
            dup
            iconst_1
            invokespecial java.util.HashSet.<init>:(I)V
            putstatic org.eclipse.jdt.internal.core.JavaElement.invalidURLs:Ljava/util/Set;
        14: .line 841
      StackMap locals:
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.JavaElement.invalidURLs:Ljava/util/Set;
            aload 3 /* url */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        15: .line 842
            new org.eclipse.jdt.core.JavaModelException
            dup
            aload 2 /* e */
            sipush 1008
            invokespecial org.eclipse.jdt.core.JavaModelException.<init>:(Ljava/lang/Throwable;I)V
            athrow
        16: .line 843
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        17: .line 844
            aload 4 /* input */
            ifnull 21
        18: .line 846
            aload 4 /* input */
            invokevirtual java.io.InputStream.close:()V
        19: .line 847
            goto 21
      StackMap locals: org.eclipse.jdt.internal.core.JavaElement java.net.URL java.io.FileNotFoundException java.lang.String java.io.InputStream top java.lang.Throwable
      StackMap stack: java.lang.Exception
        20: pop
        21: .line 851
      StackMap locals:
      StackMap stack:
            aload 6
            athrow
        22: .line 844
      StackMap locals: org.eclipse.jdt.internal.core.JavaElement java.net.URL java.io.FileNotFoundException java.lang.String java.io.InputStream
      StackMap stack:
            aload 4 /* input */
            ifnull 26
        23: .line 846
            aload 4 /* input */
            invokevirtual java.io.InputStream.close:()V
        24: .line 847
            goto 26
      StackMap locals:
      StackMap stack: java.lang.Exception
        25: pop
        26: .line 852
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.io.InputStream input
        end local 3 // java.lang.String url
        end local 2 // java.io.FileNotFoundException e
        end local 1 // java.net.URL baseLoc
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   27     0        this  Lorg/eclipse/jdt/internal/core/JavaElement;
            0   27     1     baseLoc  Ljava/net/URL;
            0   27     2           e  Ljava/io/FileNotFoundException;
            1   27     3         url  Ljava/lang/String;
            5   27     4       input  Ljava/io/InputStream;
            6   10     5  connection  Ljava/net/URLConnection;
      Exception table:
        from    to  target  type
           5    10      11  Class java.lang.Exception
           5    16      16  any
          18    19      20  Class java.lang.Exception
          23    24      25  Class java.lang.Exception
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
         Name  Flags
      baseLoc  
      e        

  protected java.lang.String getURLContents(java.net.URL, java.lang.String);
    descriptor: (Ljava/net/URL;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=14, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.JavaElement this
        start local 1 // java.net.URL baseLoc
        start local 2 // java.lang.String docUrlValue
         0: .line 855
            aconst_null
            astore 3 /* stream */
        start local 3 // java.io.InputStream stream
         1: .line 856
            aconst_null
            astore 4 /* connection2 */
        start local 4 // java.net.JarURLConnection connection2
         2: .line 857
            aconst_null
            astore 5 /* docUrl */
        start local 5 // java.net.URL docUrl
         3: .line 858
            aconst_null
            astore 6 /* connection */
        start local 6 // java.net.URLConnection connection
         4: .line 860
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         5: goto 22
         6: .line 861
      StackMap locals: org.eclipse.jdt.internal.core.JavaElement java.net.URL java.lang.String java.io.InputStream java.net.JarURLConnection java.net.URL java.net.URLConnection int
      StackMap stack:
            new java.net.URL
            dup
            aload 2 /* docUrlValue */
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
            astore 5 /* docUrl */
         7: .line 862
            aload 5 /* docUrl */
            invokevirtual java.net.URL.openConnection:()Ljava/net/URLConnection;
            astore 6 /* connection */
         8: .line 864
            sipush 10000
            istore 8 /* timeoutVal */
        start local 8 // int timeoutVal
         9: .line 865
            aload 6 /* connection */
            iload 8 /* timeoutVal */
            invokevirtual java.net.URLConnection.setConnectTimeout:(I)V
        10: .line 866
            aload 6 /* connection */
            iload 8 /* timeoutVal */
            invokevirtual java.net.URLConnection.setReadTimeout:(I)V
        11: .line 868
            aload 6 /* connection */
            instanceof java.net.HttpURLConnection
            ifeq 17
        12: .line 870
            aload 6 /* connection */
            checkcast java.net.HttpURLConnection
            astore 9 /* httpCon */
        start local 9 // java.net.HttpURLConnection httpCon
        13: .line 871
            aload 9 /* httpCon */
            invokevirtual java.net.HttpURLConnection.getResponseCode:()I
            sipush 301
            if_icmpne 23
        14: .line 872
            aload 9 /* httpCon */
            ldc "location"
            invokevirtual java.net.HttpURLConnection.getHeaderField:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* docUrlValue */
        15: .line 873
            aload 2 /* docUrlValue */
            ifnull 23
        16: .line 874
            goto 21
        end local 9 // java.net.HttpURLConnection httpCon
        17: .line 877
      StackMap locals: int
      StackMap stack:
            aload 6 /* connection */
            instanceof java.net.JarURLConnection
            ifeq 23
        18: .line 878
            aload 6 /* connection */
            checkcast java.net.JarURLConnection
            astore 4 /* connection2 */
        19: .line 880
            aload 6 /* connection */
            iconst_0
            invokevirtual java.net.URLConnection.setUseCaches:(Z)V
        20: .line 882
            goto 23
        end local 8 // int timeoutVal
        21: .line 860
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 7 /* i */
            iconst_5
            if_icmplt 6
        end local 7 // int i
        23: .line 885
      StackMap locals:
      StackMap stack:
            new java.io.BufferedInputStream
            dup
            aload 6 /* connection */
            invokevirtual java.net.URLConnection.getInputStream:()Ljava/io/InputStream;
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
            astore 3 /* stream */
        24: .line 887
            aload 6 /* connection */
            invokevirtual java.net.URLConnection.getContentEncoding:()Ljava/lang/String;
            astore 7 /* encoding */
        start local 7 // java.lang.String encoding
        25: .line 888
            aload 3 /* stream */
            aload 6 /* connection */
            invokevirtual java.net.URLConnection.getContentLength:()I
            invokestatic org.eclipse.jdt.internal.compiler.util.Util.getInputStreamAsByteArray:(Ljava/io/InputStream;I)[B
            astore 8 /* contents */
        start local 8 // byte[] contents
        26: .line 889
            aload 7 /* encoding */
            ifnonnull 42
        27: .line 890
            aload 0 /* this */
            aload 8 /* contents */
            getstatic org.eclipse.jdt.internal.core.JavaElement.META_START:[B
            iconst_0
            iconst_m1
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getIndexOf:([B[BII)I
            istore 9 /* index */
        start local 9 // int index
        28: .line 891
            iload 9 /* index */
            iconst_m1
            if_icmpeq 42
        29: .line 892
            aload 0 /* this */
            aload 8 /* contents */
            getstatic org.eclipse.jdt.internal.core.JavaElement.META_END:[B
            iload 9 /* index */
            iconst_m1
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getIndexOf:([B[BII)I
            istore 10 /* end */
        start local 10 // int end
        30: .line 893
            iload 10 /* end */
            iconst_m1
            if_icmpeq 42
        31: .line 894
            iload 10 /* end */
            iconst_1
            iadd
            aload 8 /* contents */
            arraylength
            if_icmpgt 32
            iinc 10 /* end */ 1
        32: .line 895
      StackMap locals: org.eclipse.jdt.internal.core.JavaElement java.net.URL java.lang.String java.io.InputStream java.net.JarURLConnection java.net.URL java.net.URLConnection java.lang.String byte[] int int
      StackMap stack:
            aload 0 /* this */
            aload 8 /* contents */
            getstatic org.eclipse.jdt.internal.core.JavaElement.CHARSET_HTML5:[B
            iload 9 /* index */
            iload 10 /* end */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getIndexOf:([B[BII)I
            istore 11 /* charsetIndex */
        start local 11 // int charsetIndex
        33: .line 896
            iload 11 /* charsetIndex */
            iconst_m1
            if_icmpne 38
        34: .line 897
            aload 0 /* this */
            aload 8 /* contents */
            getstatic org.eclipse.jdt.internal.core.JavaElement.CHARSET:[B
            iload 9 /* index */
            iload 10 /* end */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getIndexOf:([B[BII)I
            istore 11 /* charsetIndex */
        35: .line 898
            iload 11 /* charsetIndex */
            iconst_m1
            if_icmpeq 39
        36: .line 899
            iload 11 /* charsetIndex */
            getstatic org.eclipse.jdt.internal.core.JavaElement.CHARSET:[B
            arraylength
            iadd
            istore 11 /* charsetIndex */
        37: .line 900
            goto 39
        38: .line 901
      StackMap locals: int
      StackMap stack:
            iload 11 /* charsetIndex */
            getstatic org.eclipse.jdt.internal.core.JavaElement.CHARSET_HTML5:[B
            arraylength
            iadd
            istore 11 /* charsetIndex */
        39: .line 903
      StackMap locals:
      StackMap stack:
            iload 11 /* charsetIndex */
            iconst_m1
            if_icmpeq 42
        40: .line 904
            aload 0 /* this */
            aload 8 /* contents */
            getstatic org.eclipse.jdt.internal.core.JavaElement.CLOSING_DOUBLE_QUOTE:[B
            iload 11 /* charsetIndex */
            iload 10 /* end */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getIndexOf:([B[BII)I
            istore 10 /* end */
        41: .line 905
            new java.lang.String
            dup
            aload 8 /* contents */
            iload 11 /* charsetIndex */
            iload 10 /* end */
            iload 11 /* charsetIndex */
            isub
            ldc "UTF-8"
            invokespecial java.lang.String.<init>:([BIILjava/lang/String;)V
            astore 7 /* encoding */
        end local 11 // int charsetIndex
        end local 10 // int end
        end local 9 // int index
        42: .line 911
      StackMap locals:
      StackMap stack:
            aload 7 /* encoding */
            ifnonnull 46
        43: .line 912
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            invokeinterface org.eclipse.jdt.core.IJavaProject.getProject:()Lorg/eclipse/core/resources/IProject;
            invokeinterface org.eclipse.core.resources.IProject.getDefaultCharset:()Ljava/lang/String;
            astore 7 /* encoding */
        44: .line 914
            goto 46
      StackMap locals:
      StackMap stack: org.eclipse.core.runtime.CoreException
        45: pop
        46: .line 917
      StackMap locals:
      StackMap stack:
            aload 8 /* contents */
            ifnull 118
        47: .line 918
            aload 7 /* encoding */
            ifnull 58
        48: .line 919
            new java.lang.String
            dup
            aload 8 /* contents */
            aload 7 /* encoding */
            invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
            astore 13
        49: .line 945
            aload 3 /* stream */
            ifnull 53
        50: .line 947
            aload 3 /* stream */
            invokevirtual java.io.InputStream.close:()V
        51: .line 948
            goto 53
      StackMap locals: org.eclipse.jdt.internal.core.JavaElement java.net.URL java.lang.String java.io.InputStream java.net.JarURLConnection java.net.URL java.net.URLConnection java.lang.String byte[] top top top top java.lang.String
      StackMap stack: java.io.IOException
        52: pop
        53: .line 952
      StackMap locals:
      StackMap stack:
            aload 4 /* connection2 */
            ifnull 57
        54: .line 954
            aload 4 /* connection2 */
            invokevirtual java.net.JarURLConnection.getJarFile:()Ljava/util/jar/JarFile;
            invokevirtual java.util.jar.JarFile.close:()V
        55: .line 955
            goto 57
      StackMap locals:
      StackMap stack: java.lang.Exception
        56: pop
        57: .line 919
      StackMap locals:
      StackMap stack:
            aload 13
            areturn
        58: .line 922
      StackMap locals: org.eclipse.jdt.internal.core.JavaElement java.net.URL java.lang.String java.io.InputStream java.net.JarURLConnection java.net.URL java.net.URLConnection java.lang.String byte[]
      StackMap stack:
            new java.lang.String
            dup
            aload 8 /* contents */
            invokespecial java.lang.String.<init>:([B)V
            astore 13
        59: .line 945
            aload 3 /* stream */
            ifnull 63
        60: .line 947
            aload 3 /* stream */
            invokevirtual java.io.InputStream.close:()V
        61: .line 948
            goto 63
      StackMap locals: org.eclipse.jdt.internal.core.JavaElement java.net.URL java.lang.String java.io.InputStream java.net.JarURLConnection java.net.URL java.net.URLConnection java.lang.String byte[] top top top top java.lang.String
      StackMap stack: java.io.IOException
        62: pop
        63: .line 952
      StackMap locals:
      StackMap stack:
            aload 4 /* connection2 */
            ifnull 67
        64: .line 954
            aload 4 /* connection2 */
            invokevirtual java.net.JarURLConnection.getJarFile:()Ljava/util/jar/JarFile;
            invokevirtual java.util.jar.JarFile.close:()V
        65: .line 955
            goto 67
      StackMap locals:
      StackMap stack: java.lang.Exception
        66: pop
        67: .line 922
      StackMap locals:
      StackMap stack:
            aload 13
            areturn
        end local 8 // byte[] contents
        end local 7 // java.lang.String encoding
        68: .line 925
      StackMap locals: org.eclipse.jdt.internal.core.JavaElement java.net.URL java.lang.String java.io.InputStream java.net.JarURLConnection java.net.URL java.net.URLConnection
      StackMap stack: java.lang.RuntimeException
            pop
        69: .line 945
            aload 3 /* stream */
            ifnull 73
        70: .line 947
            aload 3 /* stream */
            invokevirtual java.io.InputStream.close:()V
        71: .line 948
            goto 73
      StackMap locals:
      StackMap stack: java.io.IOException
        72: pop
        73: .line 952
      StackMap locals:
      StackMap stack:
            aload 4 /* connection2 */
            ifnull 77
        74: .line 954
            aload 4 /* connection2 */
            invokevirtual java.net.JarURLConnection.getJarFile:()Ljava/util/jar/JarFile;
            invokevirtual java.util.jar.JarFile.close:()V
        75: .line 955
            goto 77
      StackMap locals:
      StackMap stack: java.lang.Exception
        76: pop
        77: .line 927
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        78: .line 928
      StackMap locals:
      StackMap stack: java.net.SocketTimeoutException
            pop
        79: .line 929
            new org.eclipse.jdt.core.JavaModelException
            dup
            new org.eclipse.jdt.internal.core.JavaModelStatus
            dup
            sipush 1012
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.JavaModelStatus.<init>:(ILorg/eclipse/jdt/core/IJavaElement;)V
            invokespecial org.eclipse.jdt.core.JavaModelException.<init>:(Lorg/eclipse/jdt/core/IJavaModelStatus;)V
            athrow
        80: .line 930
      StackMap locals:
      StackMap stack: java.net.MalformedURLException
            pop
        81: .line 931
            new org.eclipse.jdt.core.JavaModelException
            dup
            new org.eclipse.jdt.internal.core.JavaModelStatus
            dup
            sipush 1008
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.core.JavaModelStatus.<init>:(ILorg/eclipse/jdt/core/IJavaElement;)V
            invokespecial org.eclipse.jdt.core.JavaModelException.<init>:(Lorg/eclipse/jdt/core/IJavaModelStatus;)V
            athrow
        82: .line 932
      StackMap locals:
      StackMap stack: java.io.FileNotFoundException
            astore 7 /* e */
        start local 7 // java.io.FileNotFoundException e
        83: .line 934
            aload 0 /* this */
            aload 1 /* baseLoc */
            aload 7 /* e */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.validateAndCache:(Ljava/net/URL;Ljava/io/FileNotFoundException;)V
        end local 7 // java.io.FileNotFoundException e
        84: .line 945
            aload 3 /* stream */
            ifnull 88
        85: .line 947
            aload 3 /* stream */
            invokevirtual java.io.InputStream.close:()V
        86: .line 948
            goto 88
      StackMap locals:
      StackMap stack: java.io.IOException
        87: pop
        88: .line 952
      StackMap locals:
      StackMap stack:
            aload 4 /* connection2 */
            ifnull 126
        89: .line 954
            aload 4 /* connection2 */
            invokevirtual java.net.JarURLConnection.getJarFile:()Ljava/util/jar/JarFile;
            invokevirtual java.util.jar.JarFile.close:()V
        90: .line 955
            goto 126
      StackMap locals:
      StackMap stack: java.lang.Exception
        91: pop
            goto 126
        92: .line 935
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 7 /* e */
        start local 7 // java.io.IOException e
        93: .line 938
            new org.eclipse.jdt.core.JavaModelException
            dup
            aload 7 /* e */
            sipush 1008
            invokespecial org.eclipse.jdt.core.JavaModelException.<init>:(Ljava/lang/Throwable;I)V
            athrow
        end local 7 // java.io.IOException e
        94: .line 939
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 7 /* e */
        start local 7 // java.io.IOException e
        95: .line 940
            new org.eclipse.jdt.core.JavaModelException
            dup
            aload 7 /* e */
            sipush 985
            invokespecial org.eclipse.jdt.core.JavaModelException.<init>:(Ljava/lang/Throwable;I)V
            athrow
        end local 7 // java.io.IOException e
        96: .line 941
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 7 /* e */
        start local 7 // java.lang.Exception e
        97: .line 942
            aload 7 /* e */
            invokevirtual java.lang.Exception.getCause:()Ljava/lang/Throwable;
            instanceof java.lang.IllegalArgumentException
            ifeq 107
        98: .line 945
            aload 3 /* stream */
            ifnull 102
        99: .line 947
            aload 3 /* stream */
            invokevirtual java.io.InputStream.close:()V
       100: .line 948
            goto 102
      StackMap locals: org.eclipse.jdt.internal.core.JavaElement java.net.URL java.lang.String java.io.InputStream java.net.JarURLConnection java.net.URL java.net.URLConnection java.lang.Exception
      StackMap stack: java.io.IOException
       101: pop
       102: .line 952
      StackMap locals:
      StackMap stack:
            aload 4 /* connection2 */
            ifnull 106
       103: .line 954
            aload 4 /* connection2 */
            invokevirtual java.net.JarURLConnection.getJarFile:()Ljava/util/jar/JarFile;
            invokevirtual java.util.jar.JarFile.close:()V
       104: .line 955
            goto 106
      StackMap locals:
      StackMap stack: java.lang.Exception
       105: pop
       106: .line 942
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
       107: .line 943
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.core.JavaModelException
            dup
            aload 7 /* e */
            sipush 1008
            invokespecial org.eclipse.jdt.core.JavaModelException.<init>:(Ljava/lang/Throwable;I)V
            athrow
        end local 7 // java.lang.Exception e
       108: .line 944
      StackMap locals: org.eclipse.jdt.internal.core.JavaElement java.net.URL java.lang.String java.io.InputStream java.net.JarURLConnection java.net.URL java.net.URLConnection
      StackMap stack: java.lang.Throwable
            astore 12
       109: .line 945
            aload 3 /* stream */
            ifnull 113
       110: .line 947
            aload 3 /* stream */
            invokevirtual java.io.InputStream.close:()V
       111: .line 948
            goto 113
      StackMap locals: org.eclipse.jdt.internal.core.JavaElement java.net.URL java.lang.String java.io.InputStream java.net.JarURLConnection java.net.URL java.net.URLConnection top top top top top java.lang.Throwable
      StackMap stack: java.io.IOException
       112: pop
       113: .line 952
      StackMap locals:
      StackMap stack:
            aload 4 /* connection2 */
            ifnull 117
       114: .line 954
            aload 4 /* connection2 */
            invokevirtual java.net.JarURLConnection.getJarFile:()Ljava/util/jar/JarFile;
            invokevirtual java.util.jar.JarFile.close:()V
       115: .line 955
            goto 117
      StackMap locals:
      StackMap stack: java.lang.Exception
       116: pop
       117: .line 962
      StackMap locals:
      StackMap stack:
            aload 12
            athrow
       118: .line 945
      StackMap locals: org.eclipse.jdt.internal.core.JavaElement java.net.URL java.lang.String java.io.InputStream java.net.JarURLConnection java.net.URL java.net.URLConnection
      StackMap stack:
            aload 3 /* stream */
            ifnull 122
       119: .line 947
            aload 3 /* stream */
            invokevirtual java.io.InputStream.close:()V
       120: .line 948
            goto 122
      StackMap locals:
      StackMap stack: java.io.IOException
       121: pop
       122: .line 952
      StackMap locals:
      StackMap stack:
            aload 4 /* connection2 */
            ifnull 126
       123: .line 954
            aload 4 /* connection2 */
            invokevirtual java.net.JarURLConnection.getJarFile:()Ljava/util/jar/JarFile;
            invokevirtual java.util.jar.JarFile.close:()V
       124: .line 955
            goto 126
      StackMap locals:
      StackMap stack: java.lang.Exception
       125: pop
       126: .line 963
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 6 // java.net.URLConnection connection
        end local 5 // java.net.URL docUrl
        end local 4 // java.net.JarURLConnection connection2
        end local 3 // java.io.InputStream stream
        end local 2 // java.lang.String docUrlValue
        end local 1 // java.net.URL baseLoc
        end local 0 // org.eclipse.jdt.internal.core.JavaElement this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0  127     0          this  Lorg/eclipse/jdt/internal/core/JavaElement;
            0  127     1       baseLoc  Ljava/net/URL;
            0  127     2   docUrlValue  Ljava/lang/String;
            1  127     3        stream  Ljava/io/InputStream;
            2  127     4   connection2  Ljava/net/JarURLConnection;
            3  127     5        docUrl  Ljava/net/URL;
            4  127     6    connection  Ljava/net/URLConnection;
            5   23     7             i  I
            9   21     8    timeoutVal  I
           13   17     9       httpCon  Ljava/net/HttpURLConnection;
           25   68     7      encoding  Ljava/lang/String;
           26   68     8      contents  [B
           28   42     9         index  I
           30   42    10           end  I
           33   42    11  charsetIndex  I
           83   84     7             e  Ljava/io/FileNotFoundException;
           93   94     7             e  Ljava/io/IOException;
           95   96     7             e  Ljava/io/IOException;
           97  108     7             e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          42    44      45  Class org.eclipse.core.runtime.CoreException
          50    51      52  Class java.io.IOException
          54    55      56  Class java.io.IOException
          54    55      56  Class java.lang.IllegalStateException
          60    61      62  Class java.io.IOException
          64    65      66  Class java.io.IOException
          64    65      66  Class java.lang.IllegalStateException
           4    49      68  Class java.lang.IllegalArgumentException
          58    59      68  Class java.lang.IllegalArgumentException
           4    49      68  Class java.lang.NullPointerException
          58    59      68  Class java.lang.NullPointerException
          70    71      72  Class java.io.IOException
          74    75      76  Class java.io.IOException
          74    75      76  Class java.lang.IllegalStateException
           4    49      78  Class java.net.SocketTimeoutException
          58    59      78  Class java.net.SocketTimeoutException
           4    49      80  Class java.net.MalformedURLException
          58    59      80  Class java.net.MalformedURLException
           4    49      82  Class java.io.FileNotFoundException
          58    59      82  Class java.io.FileNotFoundException
          85    86      87  Class java.io.IOException
          89    90      91  Class java.io.IOException
          89    90      91  Class java.lang.IllegalStateException
           4    49      92  Class java.net.SocketException
          58    59      92  Class java.net.SocketException
           4    49      92  Class java.net.UnknownHostException
          58    59      92  Class java.net.UnknownHostException
           4    49      92  Class java.net.ProtocolException
          58    59      92  Class java.net.ProtocolException
           4    49      94  Class java.io.IOException
          58    59      94  Class java.io.IOException
           4    49      96  Class java.lang.Exception
          58    59      96  Class java.lang.Exception
          99   100     101  Class java.io.IOException
         103   104     105  Class java.io.IOException
         103   104     105  Class java.lang.IllegalStateException
           4    49     108  any
          58    59     108  any
          68    69     108  any
          78    84     108  any
          92    98     108  any
         107   108     108  any
         110   111     112  Class java.io.IOException
         114   115     116  Class java.io.IOException
         114   115     116  Class java.lang.IllegalStateException
         119   120     121  Class java.io.IOException
         123   124     125  Class java.io.IOException
         123   124     125  Class java.lang.IllegalStateException
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
             Name  Flags
      baseLoc      
      docUrlValue  
}
SourceFile: "JavaElement.java"
NestMembers:
  org.eclipse.jdt.internal.core.JavaElement$1NoResourceSchedulingRule
InnerClasses:
  NoResourceSchedulingRule = org.eclipse.jdt.internal.core.JavaElement$1NoResourceSchedulingRule