public class org.eclipse.jdt.internal.core.hierarchy.ChangeCollector
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.core.hierarchy.ChangeCollector
  super_class: java.lang.Object
{
  java.util.HashMap changes;
    descriptor: Ljava/util/HashMap;
    flags: (0x0000) 

  org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy hierarchy;
    descriptor: Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;
    flags: (0x0000) 

  public void <init>(org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy);
    descriptor: (Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.hierarchy.ChangeCollector this
        start local 1 // org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy hierarchy
         0: .line 41
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 37
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.changes:Ljava/util/HashMap;
         2: .line 42
            aload 0 /* this */
            aload 1 /* hierarchy */
            putfield org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.hierarchy:Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;
         3: .line 43
            return
        end local 1 // org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy hierarchy
        end local 0 // org.eclipse.jdt.internal.core.hierarchy.ChangeCollector this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/eclipse/jdt/internal/core/hierarchy/ChangeCollector;
            0    4     1  hierarchy  Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;
    MethodParameters:
           Name  Flags
      hierarchy  

  private void addAffectedChildren(org.eclipse.jdt.core.IJavaElementDelta);
    descriptor: (Lorg/eclipse/jdt/core/IJavaElementDelta;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.hierarchy.ChangeCollector this
        start local 1 // org.eclipse.jdt.core.IJavaElementDelta delta
         0: .line 49
            aload 1 /* delta */
            invokeinterface org.eclipse.jdt.core.IJavaElementDelta.getAffectedChildren:()[Lorg/eclipse/jdt/core/IJavaElementDelta;
            astore 2 /* children */
        start local 2 // org.eclipse.jdt.core.IJavaElementDelta[] children
         1: .line 50
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: aload 2 /* children */
            arraylength
            istore 4 /* length */
        start local 4 // int length
         3: goto 15
         4: .line 51
      StackMap locals: org.eclipse.jdt.core.IJavaElementDelta[] int int
      StackMap stack:
            aload 2 /* children */
            iload 3 /* i */
            aaload
            astore 5 /* child */
        start local 5 // org.eclipse.jdt.core.IJavaElementDelta child
         5: .line 52
            aload 5 /* child */
            invokeinterface org.eclipse.jdt.core.IJavaElementDelta.getElement:()Lorg/eclipse/jdt/core/IJavaElement;
            astore 6 /* childElement */
        start local 6 // org.eclipse.jdt.core.IJavaElement childElement
         6: .line 53
            aload 6 /* childElement */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getElementType:()I
            tableswitch { // 7 - 13
                    7: 11
                    8: 13
                    9: 13
                   10: 13
                   11: 14
                   12: 7
                   13: 9
              default: 14
          }
         7: .line 55
      StackMap locals: org.eclipse.jdt.core.IJavaElementDelta org.eclipse.jdt.core.IJavaElement
      StackMap stack:
            aload 0 /* this */
            aload 6 /* childElement */
            checkcast org.eclipse.jdt.core.IImportContainer
            aload 5 /* child */
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.addChange:(Lorg/eclipse/jdt/core/IImportContainer;Lorg/eclipse/jdt/core/IJavaElementDelta;)V
         8: .line 56
            goto 14
         9: .line 58
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* childElement */
            checkcast org.eclipse.jdt.core.IImportDeclaration
            aload 5 /* child */
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.addChange:(Lorg/eclipse/jdt/core/IImportDeclaration;Lorg/eclipse/jdt/core/IJavaElementDelta;)V
        10: .line 59
            goto 14
        11: .line 61
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* childElement */
            checkcast org.eclipse.jdt.core.IType
            aload 5 /* child */
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.addChange:(Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/core/IJavaElementDelta;)V
        12: .line 62
            goto 14
        13: .line 66
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 6 /* childElement */
            checkcast org.eclipse.jdt.core.IMember
            aload 5 /* child */
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.addChange:(Lorg/eclipse/jdt/core/IMember;Lorg/eclipse/jdt/core/IJavaElementDelta;)V
        end local 6 // org.eclipse.jdt.core.IJavaElement childElement
        end local 5 // org.eclipse.jdt.core.IJavaElementDelta child
        14: .line 50
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 3 /* i */
            iload 4 /* length */
            if_icmplt 4
        end local 4 // int length
        end local 3 // int i
        16: .line 70
            return
        end local 2 // org.eclipse.jdt.core.IJavaElementDelta[] children
        end local 1 // org.eclipse.jdt.core.IJavaElementDelta delta
        end local 0 // org.eclipse.jdt.internal.core.hierarchy.ChangeCollector this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Lorg/eclipse/jdt/internal/core/hierarchy/ChangeCollector;
            0   17     1         delta  Lorg/eclipse/jdt/core/IJavaElementDelta;
            1   17     2      children  [Lorg/eclipse/jdt/core/IJavaElementDelta;
            2   16     3             i  I
            3   16     4        length  I
            5   14     5         child  Lorg/eclipse/jdt/core/IJavaElementDelta;
            6   14     6  childElement  Lorg/eclipse/jdt/core/IJavaElement;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
       Name  Flags
      delta  

  public void addChange(org.eclipse.jdt.core.ICompilationUnit, org.eclipse.jdt.core.IJavaElementDelta);
    descriptor: (Lorg/eclipse/jdt/core/ICompilationUnit;Lorg/eclipse/jdt/core/IJavaElementDelta;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.hierarchy.ChangeCollector this
        start local 1 // org.eclipse.jdt.core.ICompilationUnit cu
        start local 2 // org.eclipse.jdt.core.IJavaElementDelta newDelta
         0: .line 76
            aload 2 /* newDelta */
            invokeinterface org.eclipse.jdt.core.IJavaElementDelta.getKind:()I
            istore 3 /* newKind */
        start local 3 // int newKind
         1: .line 77
            iload 3 /* newKind */
            tableswitch { // 1 - 4
                    1: 2
                    2: 12
                    3: 23
                    4: 22
              default: 23
          }
         2: .line 79
      StackMap locals: int
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* allTypes */
        start local 4 // java.util.ArrayList allTypes
         3: .line 80
            aload 0 /* this */
            aload 1 /* cu */
            aload 4 /* allTypes */
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.getAllTypesFromElement:(Lorg/eclipse/jdt/core/IJavaElement;Ljava/util/ArrayList;)V
         4: .line 81
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: aload 4 /* allTypes */
            invokevirtual java.util.ArrayList.size:()I
            istore 6 /* length */
        start local 6 // int length
         6: goto 10
         7: .line 82
      StackMap locals: java.util.ArrayList int int
      StackMap stack:
            aload 4 /* allTypes */
            iload 5 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.IType
            astore 7 /* type */
        start local 7 // org.eclipse.jdt.core.IType type
         8: .line 83
            aload 0 /* this */
            aload 7 /* type */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.changes:Ljava/util/HashMap;
            aload 7 /* type */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.SimpleDelta
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.addTypeAddition:(Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/internal/core/SimpleDelta;)V
        end local 7 // org.eclipse.jdt.core.IType type
         9: .line 81
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 5 /* i */
            iload 6 /* length */
            if_icmplt 7
        end local 6 // int length
        end local 5 // int i
        11: .line 85
            goto 23
        end local 4 // java.util.ArrayList allTypes
        12: .line 87
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* allTypes */
        start local 4 // java.util.ArrayList allTypes
        13: .line 88
            aload 0 /* this */
            aload 1 /* cu */
            checkcast org.eclipse.jdt.internal.core.JavaElement
            aload 4 /* allTypes */
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.getAllTypesFromHierarchy:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/util/ArrayList;)V
        14: .line 89
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        15: aload 4 /* allTypes */
            invokevirtual java.util.ArrayList.size:()I
            istore 6 /* length */
        start local 6 // int length
        16: goto 20
        17: .line 90
      StackMap locals: java.util.ArrayList int int
      StackMap stack:
            aload 4 /* allTypes */
            iload 5 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.IType
            astore 7 /* type */
        start local 7 // org.eclipse.jdt.core.IType type
        18: .line 91
            aload 0 /* this */
            aload 7 /* type */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.changes:Ljava/util/HashMap;
            aload 7 /* type */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.SimpleDelta
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.addTypeRemoval:(Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/internal/core/SimpleDelta;)V
        end local 7 // org.eclipse.jdt.core.IType type
        19: .line 89
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 5 /* i */
            iload 6 /* length */
            if_icmplt 17
        end local 6 // int length
        end local 5 // int i
        21: .line 93
            goto 23
        end local 4 // java.util.ArrayList allTypes
        22: .line 95
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* newDelta */
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.addAffectedChildren:(Lorg/eclipse/jdt/core/IJavaElementDelta;)V
        23: .line 98
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int newKind
        end local 2 // org.eclipse.jdt.core.IJavaElementDelta newDelta
        end local 1 // org.eclipse.jdt.core.ICompilationUnit cu
        end local 0 // org.eclipse.jdt.internal.core.hierarchy.ChangeCollector this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   24     0      this  Lorg/eclipse/jdt/internal/core/hierarchy/ChangeCollector;
            0   24     1        cu  Lorg/eclipse/jdt/core/ICompilationUnit;
            0   24     2  newDelta  Lorg/eclipse/jdt/core/IJavaElementDelta;
            1   24     3   newKind  I
            3   12     4  allTypes  Ljava/util/ArrayList;
           13   22     4  allTypes  Ljava/util/ArrayList;
            5   11     5         i  I
            6   11     6    length  I
            8    9     7      type  Lorg/eclipse/jdt/core/IType;
           15   21     5         i  I
           16   21     6    length  I
           18   19     7      type  Lorg/eclipse/jdt/core/IType;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
          Name  Flags
      cu        
      newDelta  

  private void addChange(org.eclipse.jdt.core.IImportContainer, org.eclipse.jdt.core.IJavaElementDelta);
    descriptor: (Lorg/eclipse/jdt/core/IImportContainer;Lorg/eclipse/jdt/core/IJavaElementDelta;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.hierarchy.ChangeCollector this
        start local 1 // org.eclipse.jdt.core.IImportContainer importContainer
        start local 2 // org.eclipse.jdt.core.IJavaElementDelta newDelta
         0: .line 101
            aload 2 /* newDelta */
            invokeinterface org.eclipse.jdt.core.IJavaElementDelta.getKind:()I
            istore 3 /* newKind */
        start local 3 // int newKind
         1: .line 102
            iload 3 /* newKind */
            iconst_4
            if_icmpne 4
         2: .line 103
            aload 0 /* this */
            aload 2 /* newDelta */
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.addAffectedChildren:(Lorg/eclipse/jdt/core/IJavaElementDelta;)V
         3: .line 104
            return
         4: .line 106
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.changes:Ljava/util/HashMap;
            aload 1 /* importContainer */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.SimpleDelta
            astore 4 /* existingDelta */
        start local 4 // org.eclipse.jdt.internal.core.SimpleDelta existingDelta
         5: .line 107
            aload 4 /* existingDelta */
            ifnull 13
         6: .line 108
            iload 3 /* newKind */
            tableswitch { // 1 - 2
                    1: 7
                    2: 10
              default: 12
          }
         7: .line 110
      StackMap locals: org.eclipse.jdt.internal.core.SimpleDelta
      StackMap stack:
            aload 4 /* existingDelta */
            invokevirtual org.eclipse.jdt.internal.core.SimpleDelta.getKind:()I
            iconst_2
            if_icmpne 19
         8: .line 112
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.changes:Ljava/util/HashMap;
            aload 1 /* importContainer */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 114
            goto 19
        10: .line 116
      StackMap locals:
      StackMap stack:
            aload 4 /* existingDelta */
            invokevirtual org.eclipse.jdt.internal.core.SimpleDelta.getKind:()I
            iconst_1
            if_icmpne 19
        11: .line 118
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.changes:Ljava/util/HashMap;
            aload 1 /* importContainer */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 123
      StackMap locals:
      StackMap stack:
            goto 19
        13: .line 124
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.core.SimpleDelta
            dup
            invokespecial org.eclipse.jdt.internal.core.SimpleDelta.<init>:()V
            astore 5 /* delta */
        start local 5 // org.eclipse.jdt.internal.core.SimpleDelta delta
        14: .line 125
            iload 3 /* newKind */
            tableswitch { // 1 - 2
                    1: 15
                    2: 17
              default: 18
          }
        15: .line 127
      StackMap locals: org.eclipse.jdt.internal.core.SimpleDelta
      StackMap stack:
            aload 5 /* delta */
            invokevirtual org.eclipse.jdt.internal.core.SimpleDelta.added:()V
        16: .line 128
            goto 18
        17: .line 130
      StackMap locals:
      StackMap stack:
            aload 5 /* delta */
            invokevirtual org.eclipse.jdt.internal.core.SimpleDelta.removed:()V
        18: .line 133
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.changes:Ljava/util/HashMap;
            aload 1 /* importContainer */
            aload 5 /* delta */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // org.eclipse.jdt.internal.core.SimpleDelta delta
        19: .line 135
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.eclipse.jdt.internal.core.SimpleDelta existingDelta
        end local 3 // int newKind
        end local 2 // org.eclipse.jdt.core.IJavaElementDelta newDelta
        end local 1 // org.eclipse.jdt.core.IImportContainer importContainer
        end local 0 // org.eclipse.jdt.internal.core.hierarchy.ChangeCollector this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   20     0             this  Lorg/eclipse/jdt/internal/core/hierarchy/ChangeCollector;
            0   20     1  importContainer  Lorg/eclipse/jdt/core/IImportContainer;
            0   20     2         newDelta  Lorg/eclipse/jdt/core/IJavaElementDelta;
            1   20     3          newKind  I
            5   20     4    existingDelta  Lorg/eclipse/jdt/internal/core/SimpleDelta;
           14   19     5            delta  Lorg/eclipse/jdt/internal/core/SimpleDelta;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                 Name  Flags
      importContainer  
      newDelta         

  private void addChange(org.eclipse.jdt.core.IImportDeclaration, org.eclipse.jdt.core.IJavaElementDelta);
    descriptor: (Lorg/eclipse/jdt/core/IImportDeclaration;Lorg/eclipse/jdt/core/IJavaElementDelta;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.hierarchy.ChangeCollector this
        start local 1 // org.eclipse.jdt.core.IImportDeclaration importDecl
        start local 2 // org.eclipse.jdt.core.IJavaElementDelta newDelta
         0: .line 138
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.changes:Ljava/util/HashMap;
            aload 1 /* importDecl */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.SimpleDelta
            astore 3 /* existingDelta */
        start local 3 // org.eclipse.jdt.internal.core.SimpleDelta existingDelta
         1: .line 139
            aload 2 /* newDelta */
            invokeinterface org.eclipse.jdt.core.IJavaElementDelta.getKind:()I
            istore 4 /* newKind */
        start local 4 // int newKind
         2: .line 140
            aload 3 /* existingDelta */
            ifnull 10
         3: .line 141
            iload 4 /* newKind */
            tableswitch { // 1 - 2
                    1: 4
                    2: 7
              default: 9
          }
         4: .line 143
      StackMap locals: org.eclipse.jdt.internal.core.SimpleDelta int
      StackMap stack:
            aload 3 /* existingDelta */
            invokevirtual org.eclipse.jdt.internal.core.SimpleDelta.getKind:()I
            iconst_2
            if_icmpne 16
         5: .line 145
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.changes:Ljava/util/HashMap;
            aload 1 /* importDecl */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 147
            goto 16
         7: .line 149
      StackMap locals:
      StackMap stack:
            aload 3 /* existingDelta */
            invokevirtual org.eclipse.jdt.internal.core.SimpleDelta.getKind:()I
            iconst_1
            if_icmpne 16
         8: .line 151
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.changes:Ljava/util/HashMap;
            aload 1 /* importDecl */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 156
      StackMap locals:
      StackMap stack:
            goto 16
        10: .line 157
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.core.SimpleDelta
            dup
            invokespecial org.eclipse.jdt.internal.core.SimpleDelta.<init>:()V
            astore 5 /* delta */
        start local 5 // org.eclipse.jdt.internal.core.SimpleDelta delta
        11: .line 158
            iload 4 /* newKind */
            tableswitch { // 1 - 2
                    1: 12
                    2: 14
              default: 15
          }
        12: .line 160
      StackMap locals: org.eclipse.jdt.internal.core.SimpleDelta
      StackMap stack:
            aload 5 /* delta */
            invokevirtual org.eclipse.jdt.internal.core.SimpleDelta.added:()V
        13: .line 161
            goto 15
        14: .line 163
      StackMap locals:
      StackMap stack:
            aload 5 /* delta */
            invokevirtual org.eclipse.jdt.internal.core.SimpleDelta.removed:()V
        15: .line 166
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.changes:Ljava/util/HashMap;
            aload 1 /* importDecl */
            aload 5 /* delta */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // org.eclipse.jdt.internal.core.SimpleDelta delta
        16: .line 168
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int newKind
        end local 3 // org.eclipse.jdt.internal.core.SimpleDelta existingDelta
        end local 2 // org.eclipse.jdt.core.IJavaElementDelta newDelta
        end local 1 // org.eclipse.jdt.core.IImportDeclaration importDecl
        end local 0 // org.eclipse.jdt.internal.core.hierarchy.ChangeCollector this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   17     0           this  Lorg/eclipse/jdt/internal/core/hierarchy/ChangeCollector;
            0   17     1     importDecl  Lorg/eclipse/jdt/core/IImportDeclaration;
            0   17     2       newDelta  Lorg/eclipse/jdt/core/IJavaElementDelta;
            1   17     3  existingDelta  Lorg/eclipse/jdt/internal/core/SimpleDelta;
            2   17     4        newKind  I
           11   16     5          delta  Lorg/eclipse/jdt/internal/core/SimpleDelta;
    MethodParameters:
            Name  Flags
      importDecl  
      newDelta    

  private void addChange(org.eclipse.jdt.core.IMember, org.eclipse.jdt.core.IJavaElementDelta);
    descriptor: (Lorg/eclipse/jdt/core/IMember;Lorg/eclipse/jdt/core/IJavaElementDelta;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.hierarchy.ChangeCollector this
        start local 1 // org.eclipse.jdt.core.IMember member
        start local 2 // org.eclipse.jdt.core.IJavaElementDelta newDelta
         0: .line 174
            aload 2 /* newDelta */
            invokeinterface org.eclipse.jdt.core.IJavaElementDelta.getKind:()I
            istore 3 /* newKind */
        start local 3 // int newKind
         1: .line 175
            iload 3 /* newKind */
            tableswitch { // 1 - 4
                    1: 2
                    2: 12
                    3: 23
                    4: 22
              default: 23
          }
         2: .line 177
      StackMap locals: int
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* allTypes */
        start local 4 // java.util.ArrayList allTypes
         3: .line 178
            aload 0 /* this */
            aload 1 /* member */
            aload 4 /* allTypes */
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.getAllTypesFromElement:(Lorg/eclipse/jdt/core/IJavaElement;Ljava/util/ArrayList;)V
         4: .line 179
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: aload 4 /* allTypes */
            invokevirtual java.util.ArrayList.size:()I
            istore 6 /* length */
        start local 6 // int length
         6: goto 10
         7: .line 180
      StackMap locals: java.util.ArrayList int int
      StackMap stack:
            aload 4 /* allTypes */
            iload 5 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.IType
            astore 7 /* innerType */
        start local 7 // org.eclipse.jdt.core.IType innerType
         8: .line 181
            aload 0 /* this */
            aload 7 /* innerType */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.changes:Ljava/util/HashMap;
            aload 7 /* innerType */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.SimpleDelta
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.addTypeAddition:(Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/internal/core/SimpleDelta;)V
        end local 7 // org.eclipse.jdt.core.IType innerType
         9: .line 179
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 5 /* i */
            iload 6 /* length */
            if_icmplt 7
        end local 6 // int length
        end local 5 // int i
        11: .line 183
            goto 23
        end local 4 // java.util.ArrayList allTypes
        12: .line 185
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* allTypes */
        start local 4 // java.util.ArrayList allTypes
        13: .line 186
            aload 0 /* this */
            aload 1 /* member */
            checkcast org.eclipse.jdt.internal.core.JavaElement
            aload 4 /* allTypes */
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.getAllTypesFromHierarchy:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/util/ArrayList;)V
        14: .line 187
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        15: aload 4 /* allTypes */
            invokevirtual java.util.ArrayList.size:()I
            istore 6 /* length */
        start local 6 // int length
        16: goto 20
        17: .line 188
      StackMap locals: java.util.ArrayList int int
      StackMap stack:
            aload 4 /* allTypes */
            iload 5 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.IType
            astore 7 /* type */
        start local 7 // org.eclipse.jdt.core.IType type
        18: .line 189
            aload 0 /* this */
            aload 7 /* type */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.changes:Ljava/util/HashMap;
            aload 7 /* type */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.SimpleDelta
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.addTypeRemoval:(Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/internal/core/SimpleDelta;)V
        end local 7 // org.eclipse.jdt.core.IType type
        19: .line 187
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 5 /* i */
            iload 6 /* length */
            if_icmplt 17
        end local 6 // int length
        end local 5 // int i
        21: .line 191
            goto 23
        end local 4 // java.util.ArrayList allTypes
        22: .line 193
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* newDelta */
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.addAffectedChildren:(Lorg/eclipse/jdt/core/IJavaElementDelta;)V
        23: .line 196
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int newKind
        end local 2 // org.eclipse.jdt.core.IJavaElementDelta newDelta
        end local 1 // org.eclipse.jdt.core.IMember member
        end local 0 // org.eclipse.jdt.internal.core.hierarchy.ChangeCollector this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   24     0       this  Lorg/eclipse/jdt/internal/core/hierarchy/ChangeCollector;
            0   24     1     member  Lorg/eclipse/jdt/core/IMember;
            0   24     2   newDelta  Lorg/eclipse/jdt/core/IJavaElementDelta;
            1   24     3    newKind  I
            3   12     4   allTypes  Ljava/util/ArrayList;
           13   22     4   allTypes  Ljava/util/ArrayList;
            5   11     5          i  I
            6   11     6     length  I
            8    9     7  innerType  Lorg/eclipse/jdt/core/IType;
           15   21     5          i  I
           16   21     6     length  I
           18   19     7       type  Lorg/eclipse/jdt/core/IType;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
          Name  Flags
      member    
      newDelta  

  private void addChange(org.eclipse.jdt.core.IType, org.eclipse.jdt.core.IJavaElementDelta);
    descriptor: (Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/core/IJavaElementDelta;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.hierarchy.ChangeCollector this
        start local 1 // org.eclipse.jdt.core.IType type
        start local 2 // org.eclipse.jdt.core.IJavaElementDelta newDelta
         0: .line 202
            aload 2 /* newDelta */
            invokeinterface org.eclipse.jdt.core.IJavaElementDelta.getKind:()I
            istore 3 /* newKind */
        start local 3 // int newKind
         1: .line 203
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.changes:Ljava/util/HashMap;
            aload 1 /* type */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.SimpleDelta
            astore 4 /* existingDelta */
        start local 4 // org.eclipse.jdt.internal.core.SimpleDelta existingDelta
         2: .line 204
            iload 3 /* newKind */
            tableswitch { // 1 - 4
                    1: 3
                    2: 14
                    3: 27
                    4: 25
              default: 27
          }
         3: .line 206
      StackMap locals: int org.eclipse.jdt.internal.core.SimpleDelta
      StackMap stack:
            aload 0 /* this */
            aload 1 /* type */
            aload 4 /* existingDelta */
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.addTypeAddition:(Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/internal/core/SimpleDelta;)V
         4: .line 207
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* allTypes */
        start local 5 // java.util.ArrayList allTypes
         5: .line 208
            aload 0 /* this */
            aload 1 /* type */
            aload 5 /* allTypes */
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.getAllTypesFromElement:(Lorg/eclipse/jdt/core/IJavaElement;Ljava/util/ArrayList;)V
         6: .line 209
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         7: aload 5 /* allTypes */
            invokevirtual java.util.ArrayList.size:()I
            istore 7 /* length */
        start local 7 // int length
         8: goto 12
         9: .line 210
      StackMap locals: java.util.ArrayList int int
      StackMap stack:
            aload 5 /* allTypes */
            iload 6 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.IType
            astore 8 /* innerType */
        start local 8 // org.eclipse.jdt.core.IType innerType
        10: .line 211
            aload 0 /* this */
            aload 8 /* innerType */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.changes:Ljava/util/HashMap;
            aload 8 /* innerType */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.SimpleDelta
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.addTypeAddition:(Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/internal/core/SimpleDelta;)V
        end local 8 // org.eclipse.jdt.core.IType innerType
        11: .line 209
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 6 /* i */
            iload 7 /* length */
            if_icmplt 9
        end local 7 // int length
        end local 6 // int i
        13: .line 213
            goto 27
        end local 5 // java.util.ArrayList allTypes
        14: .line 215
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* type */
            aload 4 /* existingDelta */
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.addTypeRemoval:(Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/internal/core/SimpleDelta;)V
        15: .line 216
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* allTypes */
        start local 5 // java.util.ArrayList allTypes
        16: .line 217
            aload 0 /* this */
            aload 1 /* type */
            checkcast org.eclipse.jdt.internal.core.JavaElement
            aload 5 /* allTypes */
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.getAllTypesFromHierarchy:(Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/util/ArrayList;)V
        17: .line 218
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        18: aload 5 /* allTypes */
            invokevirtual java.util.ArrayList.size:()I
            istore 7 /* length */
        start local 7 // int length
        19: goto 23
        20: .line 219
      StackMap locals: java.util.ArrayList int int
      StackMap stack:
            aload 5 /* allTypes */
            iload 6 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.IType
            astore 8 /* innerType */
        start local 8 // org.eclipse.jdt.core.IType innerType
        21: .line 220
            aload 0 /* this */
            aload 8 /* innerType */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.changes:Ljava/util/HashMap;
            aload 8 /* innerType */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.SimpleDelta
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.addTypeRemoval:(Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/internal/core/SimpleDelta;)V
        end local 8 // org.eclipse.jdt.core.IType innerType
        22: .line 218
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 6 /* i */
            iload 7 /* length */
            if_icmplt 20
        end local 7 // int length
        end local 6 // int i
        24: .line 222
            goto 27
        end local 5 // java.util.ArrayList allTypes
        25: .line 224
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* type */
            aload 2 /* newDelta */
            invokeinterface org.eclipse.jdt.core.IJavaElementDelta.getFlags:()I
            aload 4 /* existingDelta */
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.addTypeChange:(Lorg/eclipse/jdt/core/IType;ILorg/eclipse/jdt/internal/core/SimpleDelta;)V
        26: .line 225
            aload 0 /* this */
            aload 2 /* newDelta */
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.addAffectedChildren:(Lorg/eclipse/jdt/core/IJavaElementDelta;)V
        27: .line 228
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.eclipse.jdt.internal.core.SimpleDelta existingDelta
        end local 3 // int newKind
        end local 2 // org.eclipse.jdt.core.IJavaElementDelta newDelta
        end local 1 // org.eclipse.jdt.core.IType type
        end local 0 // org.eclipse.jdt.internal.core.hierarchy.ChangeCollector this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   28     0           this  Lorg/eclipse/jdt/internal/core/hierarchy/ChangeCollector;
            0   28     1           type  Lorg/eclipse/jdt/core/IType;
            0   28     2       newDelta  Lorg/eclipse/jdt/core/IJavaElementDelta;
            1   28     3        newKind  I
            2   28     4  existingDelta  Lorg/eclipse/jdt/internal/core/SimpleDelta;
            5   14     5       allTypes  Ljava/util/ArrayList;
           16   25     5       allTypes  Ljava/util/ArrayList;
            7   13     6              i  I
            8   13     7         length  I
           10   11     8      innerType  Lorg/eclipse/jdt/core/IType;
           18   24     6              i  I
           19   24     7         length  I
           21   22     8      innerType  Lorg/eclipse/jdt/core/IType;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
          Name  Flags
      type      
      newDelta  

  private void addTypeAddition(org.eclipse.jdt.core.IType, org.eclipse.jdt.internal.core.SimpleDelta);
    descriptor: (Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/internal/core/SimpleDelta;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.hierarchy.ChangeCollector this
        start local 1 // org.eclipse.jdt.core.IType type
        start local 2 // org.eclipse.jdt.internal.core.SimpleDelta existingDelta
         0: .line 231
            aload 2 /* existingDelta */
            ifnull 12
         1: .line 232
            aload 2 /* existingDelta */
            invokevirtual org.eclipse.jdt.internal.core.SimpleDelta.getKind:()I
            tableswitch { // 2 - 2
                    2: 2
              default: 11
          }
         2: .line 235
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* hasChange */
        start local 3 // boolean hasChange
         3: .line 236
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.hasSuperTypeChange:(Lorg/eclipse/jdt/core/IType;)Z
            ifeq 6
         4: .line 237
            aload 2 /* existingDelta */
            invokevirtual org.eclipse.jdt.internal.core.SimpleDelta.superTypes:()V
         5: .line 238
            iconst_1
            istore 3 /* hasChange */
         6: .line 240
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.hasVisibilityChange:(Lorg/eclipse/jdt/core/IType;)Z
            ifeq 9
         7: .line 241
            aload 2 /* existingDelta */
            invokevirtual org.eclipse.jdt.internal.core.SimpleDelta.modifiers:()V
         8: .line 242
            iconst_1
            istore 3 /* hasChange */
         9: .line 244
      StackMap locals:
      StackMap stack:
            iload 3 /* hasChange */
            ifne 19
        10: .line 245
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.changes:Ljava/util/HashMap;
            aload 1 /* type */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 3 // boolean hasChange
        11: .line 251
      StackMap locals:
      StackMap stack:
            goto 19
        12: .line 253
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getElementName:()Ljava/lang/String;
            astore 3 /* typeName */
        start local 3 // java.lang.String typeName
        13: .line 254
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.hierarchy:Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;
            aload 3 /* typeName */
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.hasSupertype:(Ljava/lang/String;)Z
            ifne 16
        14: .line 255
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.hierarchy:Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;
            aload 1 /* type */
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.subtypesIncludeSupertypeOf:(Lorg/eclipse/jdt/core/IType;)Z
            ifne 16
        15: .line 256
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.hierarchy:Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;
            getfield org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.missingTypes:Ljava/util/ArrayList;
            aload 3 /* typeName */
            invokevirtual java.util.ArrayList.contains:(Ljava/lang/Object;)Z
            ifeq 19
        16: .line 257
      StackMap locals: java.lang.String
      StackMap stack:
            new org.eclipse.jdt.internal.core.SimpleDelta
            dup
            invokespecial org.eclipse.jdt.internal.core.SimpleDelta.<init>:()V
            astore 4 /* delta */
        start local 4 // org.eclipse.jdt.internal.core.SimpleDelta delta
        17: .line 258
            aload 4 /* delta */
            invokevirtual org.eclipse.jdt.internal.core.SimpleDelta.added:()V
        18: .line 259
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.changes:Ljava/util/HashMap;
            aload 1 /* type */
            aload 4 /* delta */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // org.eclipse.jdt.internal.core.SimpleDelta delta
        end local 3 // java.lang.String typeName
        19: .line 262
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.eclipse.jdt.internal.core.SimpleDelta existingDelta
        end local 1 // org.eclipse.jdt.core.IType type
        end local 0 // org.eclipse.jdt.internal.core.hierarchy.ChangeCollector this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   20     0           this  Lorg/eclipse/jdt/internal/core/hierarchy/ChangeCollector;
            0   20     1           type  Lorg/eclipse/jdt/core/IType;
            0   20     2  existingDelta  Lorg/eclipse/jdt/internal/core/SimpleDelta;
            3   11     3      hasChange  Z
           13   19     3       typeName  Ljava/lang/String;
           17   19     4          delta  Lorg/eclipse/jdt/internal/core/SimpleDelta;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
               Name  Flags
      type           
      existingDelta  

  private void addTypeChange(org.eclipse.jdt.core.IType, int, org.eclipse.jdt.internal.core.SimpleDelta);
    descriptor: (Lorg/eclipse/jdt/core/IType;ILorg/eclipse/jdt/internal/core/SimpleDelta;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // org.eclipse.jdt.internal.core.hierarchy.ChangeCollector this
        start local 1 // org.eclipse.jdt.core.IType type
        start local 2 // int newFlags
        start local 3 // org.eclipse.jdt.internal.core.SimpleDelta existingDelta
         0: .line 265
            aload 3 /* existingDelta */
            ifnull 15
         1: .line 266
            aload 3 /* existingDelta */
            invokevirtual org.eclipse.jdt.internal.core.SimpleDelta.getKind:()I
            tableswitch { // 4 - 4
                    4: 2
              default: 14
          }
         2: .line 269
      StackMap locals:
      StackMap stack:
            aload 3 /* existingDelta */
            invokevirtual org.eclipse.jdt.internal.core.SimpleDelta.getFlags:()I
            istore 4 /* existingFlags */
        start local 4 // int existingFlags
         3: .line 270
            iconst_0
            istore 5 /* hasChange */
        start local 5 // boolean hasChange
         4: .line 271
            iload 4 /* existingFlags */
            sipush 2048
            iand
            ifeq 8
         5: .line 272
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.hasSuperTypeChange:(Lorg/eclipse/jdt/core/IType;)Z
            ifeq 8
         6: .line 273
            aload 3 /* existingDelta */
            invokevirtual org.eclipse.jdt.internal.core.SimpleDelta.superTypes:()V
         7: .line 274
            iconst_1
            istore 5 /* hasChange */
         8: .line 276
      StackMap locals: int int
      StackMap stack:
            iload 4 /* existingFlags */
            iconst_2
            iand
            ifeq 12
         9: .line 277
            aload 0 /* this */
            aload 1 /* type */
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.hasVisibilityChange:(Lorg/eclipse/jdt/core/IType;)Z
            ifeq 12
        10: .line 278
            aload 3 /* existingDelta */
            invokevirtual org.eclipse.jdt.internal.core.SimpleDelta.modifiers:()V
        11: .line 279
            iconst_1
            istore 5 /* hasChange */
        12: .line 281
      StackMap locals:
      StackMap stack:
            iload 5 /* hasChange */
            ifne 28
        13: .line 283
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.changes:Ljava/util/HashMap;
            aload 1 /* type */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // boolean hasChange
        end local 4 // int existingFlags
        14: .line 289
      StackMap locals:
      StackMap stack:
            goto 28
        15: .line 291
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* typeDelta */
        start local 4 // org.eclipse.jdt.internal.core.SimpleDelta typeDelta
        16: .line 292
            iload 2 /* newFlags */
            sipush 2048
            iand
            ifeq 20
        17: .line 293
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.hierarchy:Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;
            aload 1 /* type */
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.includesTypeOrSupertype:(Lorg/eclipse/jdt/core/IType;)Z
            ifeq 20
        18: .line 294
            new org.eclipse.jdt.internal.core.SimpleDelta
            dup
            invokespecial org.eclipse.jdt.internal.core.SimpleDelta.<init>:()V
            astore 4 /* typeDelta */
        19: .line 295
            aload 4 /* typeDelta */
            invokevirtual org.eclipse.jdt.internal.core.SimpleDelta.superTypes:()V
        20: .line 297
      StackMap locals: org.eclipse.jdt.internal.core.SimpleDelta
      StackMap stack:
            iload 2 /* newFlags */
            iconst_2
            iand
            ifeq 26
        21: .line 298
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.hierarchy:Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getElementName:()Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.hasSupertype:(Ljava/lang/String;)Z
            ifne 23
        22: .line 299
            aload 1 /* type */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.hierarchy:Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;
            getfield org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.focusType:Lorg/eclipse/jdt/core/IType;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 26
        23: .line 300
      StackMap locals:
      StackMap stack:
            aload 4 /* typeDelta */
            ifnonnull 25
        24: .line 301
            new org.eclipse.jdt.internal.core.SimpleDelta
            dup
            invokespecial org.eclipse.jdt.internal.core.SimpleDelta.<init>:()V
            astore 4 /* typeDelta */
        25: .line 303
      StackMap locals:
      StackMap stack:
            aload 4 /* typeDelta */
            invokevirtual org.eclipse.jdt.internal.core.SimpleDelta.modifiers:()V
        26: .line 305
      StackMap locals:
      StackMap stack:
            aload 4 /* typeDelta */
            ifnull 28
        27: .line 306
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.changes:Ljava/util/HashMap;
            aload 1 /* type */
            aload 4 /* typeDelta */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // org.eclipse.jdt.internal.core.SimpleDelta typeDelta
        28: .line 309
      StackMap locals:
      StackMap stack:
            return
        end local 3 // org.eclipse.jdt.internal.core.SimpleDelta existingDelta
        end local 2 // int newFlags
        end local 1 // org.eclipse.jdt.core.IType type
        end local 0 // org.eclipse.jdt.internal.core.hierarchy.ChangeCollector this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   29     0           this  Lorg/eclipse/jdt/internal/core/hierarchy/ChangeCollector;
            0   29     1           type  Lorg/eclipse/jdt/core/IType;
            0   29     2       newFlags  I
            0   29     3  existingDelta  Lorg/eclipse/jdt/internal/core/SimpleDelta;
            3   14     4  existingFlags  I
            4   14     5      hasChange  Z
           16   28     4      typeDelta  Lorg/eclipse/jdt/internal/core/SimpleDelta;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
               Name  Flags
      type           
      newFlags       
      existingDelta  

  private void addTypeRemoval(org.eclipse.jdt.core.IType, org.eclipse.jdt.internal.core.SimpleDelta);
    descriptor: (Lorg/eclipse/jdt/core/IType;Lorg/eclipse/jdt/internal/core/SimpleDelta;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.hierarchy.ChangeCollector this
        start local 1 // org.eclipse.jdt.core.IType type
        start local 2 // org.eclipse.jdt.internal.core.SimpleDelta existingDelta
         0: .line 312
            aload 2 /* existingDelta */
            ifnull 6
         1: .line 313
            aload 2 /* existingDelta */
            invokevirtual org.eclipse.jdt.internal.core.SimpleDelta.getKind:()I
            tableswitch { // 1 - 4
                    1: 2
                    2: 5
                    3: 5
                    4: 4
              default: 5
          }
         2: .line 316
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.changes:Ljava/util/HashMap;
            aload 1 /* type */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 317
            goto 10
         4: .line 320
      StackMap locals:
      StackMap stack:
            aload 2 /* existingDelta */
            invokevirtual org.eclipse.jdt.internal.core.SimpleDelta.removed:()V
         5: .line 324
      StackMap locals:
      StackMap stack:
            goto 10
         6: .line 326
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.hierarchy:Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;
            aload 1 /* type */
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.contains:(Lorg/eclipse/jdt/core/IType;)Z
            ifeq 10
         7: .line 327
            new org.eclipse.jdt.internal.core.SimpleDelta
            dup
            invokespecial org.eclipse.jdt.internal.core.SimpleDelta.<init>:()V
            astore 3 /* typeDelta */
        start local 3 // org.eclipse.jdt.internal.core.SimpleDelta typeDelta
         8: .line 328
            aload 3 /* typeDelta */
            invokevirtual org.eclipse.jdt.internal.core.SimpleDelta.removed:()V
         9: .line 329
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.changes:Ljava/util/HashMap;
            aload 1 /* type */
            aload 3 /* typeDelta */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 3 // org.eclipse.jdt.internal.core.SimpleDelta typeDelta
        10: .line 332
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.eclipse.jdt.internal.core.SimpleDelta existingDelta
        end local 1 // org.eclipse.jdt.core.IType type
        end local 0 // org.eclipse.jdt.internal.core.hierarchy.ChangeCollector this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Lorg/eclipse/jdt/internal/core/hierarchy/ChangeCollector;
            0   11     1           type  Lorg/eclipse/jdt/core/IType;
            0   11     2  existingDelta  Lorg/eclipse/jdt/internal/core/SimpleDelta;
            8   10     3      typeDelta  Lorg/eclipse/jdt/internal/core/SimpleDelta;
    MethodParameters:
               Name  Flags
      type           
      existingDelta  

  private void getAllTypesFromElement(org.eclipse.jdt.core.IJavaElement, java.util.ArrayList);
    descriptor: (Lorg/eclipse/jdt/core/IJavaElement;Ljava/util/ArrayList;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.hierarchy.ChangeCollector this
        start local 1 // org.eclipse.jdt.core.IJavaElement element
        start local 2 // java.util.ArrayList allTypes
         0: .line 338
            aload 1 /* element */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getElementType:()I
            tableswitch { // 5 - 10
                    5: 1
                    6: 30
                    7: 11
                    8: 21
                    9: 21
                   10: 21
              default: 30
          }
         1: .line 340
      StackMap locals:
      StackMap stack:
            aload 1 /* element */
            checkcast org.eclipse.jdt.core.ICompilationUnit
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getTypes:()[Lorg/eclipse/jdt/core/IType;
            astore 3 /* types */
        start local 3 // org.eclipse.jdt.core.IType[] types
         2: .line 341
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: aload 3 /* types */
            arraylength
            istore 5 /* length */
        start local 5 // int length
         4: goto 9
         5: .line 342
      StackMap locals: org.eclipse.jdt.core.IType[] int int
      StackMap stack:
            aload 3 /* types */
            iload 4 /* i */
            aaload
            astore 6 /* type */
        start local 6 // org.eclipse.jdt.core.IType type
         6: .line 343
            aload 2 /* allTypes */
            aload 6 /* type */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         7: .line 344
            aload 0 /* this */
            aload 6 /* type */
            aload 2 /* allTypes */
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.getAllTypesFromElement:(Lorg/eclipse/jdt/core/IJavaElement;Ljava/util/ArrayList;)V
        end local 6 // org.eclipse.jdt.core.IType type
         8: .line 341
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            iload 5 /* length */
            if_icmplt 5
        end local 5 // int length
        end local 4 // int i
        10: .line 346
            goto 30
        end local 3 // org.eclipse.jdt.core.IType[] types
        11: .line 348
      StackMap locals:
      StackMap stack:
            aload 1 /* element */
            checkcast org.eclipse.jdt.core.IType
            invokeinterface org.eclipse.jdt.core.IType.getTypes:()[Lorg/eclipse/jdt/core/IType;
            astore 3 /* types */
        start local 3 // org.eclipse.jdt.core.IType[] types
        12: .line 349
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        13: aload 3 /* types */
            arraylength
            istore 5 /* length */
        start local 5 // int length
        14: goto 19
        15: .line 350
      StackMap locals: org.eclipse.jdt.core.IType[] int int
      StackMap stack:
            aload 3 /* types */
            iload 4 /* i */
            aaload
            astore 6 /* type */
        start local 6 // org.eclipse.jdt.core.IType type
        16: .line 351
            aload 2 /* allTypes */
            aload 6 /* type */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        17: .line 352
            aload 0 /* this */
            aload 6 /* type */
            aload 2 /* allTypes */
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.getAllTypesFromElement:(Lorg/eclipse/jdt/core/IJavaElement;Ljava/util/ArrayList;)V
        end local 6 // org.eclipse.jdt.core.IType type
        18: .line 349
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 4 /* i */
            iload 5 /* length */
            if_icmplt 15
        end local 5 // int length
        end local 4 // int i
        20: .line 354
            goto 30
        end local 3 // org.eclipse.jdt.core.IType[] types
        21: .line 358
      StackMap locals:
      StackMap stack:
            aload 1 /* element */
            checkcast org.eclipse.jdt.core.IMember
            invokeinterface org.eclipse.jdt.core.IMember.getChildren:()[Lorg/eclipse/jdt/core/IJavaElement;
            astore 4 /* children */
        start local 4 // org.eclipse.jdt.core.IJavaElement[] children
        22: .line 359
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        23: aload 4 /* children */
            arraylength
            istore 6 /* length */
        start local 6 // int length
        24: goto 29
        25: .line 360
      StackMap locals: org.eclipse.jdt.internal.core.hierarchy.ChangeCollector org.eclipse.jdt.core.IJavaElement java.util.ArrayList top org.eclipse.jdt.core.IJavaElement[] int int
      StackMap stack:
            aload 4 /* children */
            iload 5 /* i */
            aaload
            checkcast org.eclipse.jdt.core.IType
            astore 7 /* type */
        start local 7 // org.eclipse.jdt.core.IType type
        26: .line 361
            aload 2 /* allTypes */
            aload 7 /* type */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        27: .line 362
            aload 0 /* this */
            aload 7 /* type */
            aload 2 /* allTypes */
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.getAllTypesFromElement:(Lorg/eclipse/jdt/core/IJavaElement;Ljava/util/ArrayList;)V
        end local 7 // org.eclipse.jdt.core.IType type
        28: .line 359
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 5 /* i */
            iload 6 /* length */
            if_icmplt 25
        end local 6 // int length
        end local 5 // int i
        end local 4 // org.eclipse.jdt.core.IJavaElement[] children
        30: .line 366
      StackMap locals: org.eclipse.jdt.internal.core.hierarchy.ChangeCollector org.eclipse.jdt.core.IJavaElement java.util.ArrayList
      StackMap stack:
            return
        end local 2 // java.util.ArrayList allTypes
        end local 1 // org.eclipse.jdt.core.IJavaElement element
        end local 0 // org.eclipse.jdt.internal.core.hierarchy.ChangeCollector this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   31     0      this  Lorg/eclipse/jdt/internal/core/hierarchy/ChangeCollector;
            0   31     1   element  Lorg/eclipse/jdt/core/IJavaElement;
            0   31     2  allTypes  Ljava/util/ArrayList;
            2   11     3     types  [Lorg/eclipse/jdt/core/IType;
           12   21     3     types  [Lorg/eclipse/jdt/core/IType;
            3   10     4         i  I
            4   10     5    length  I
            6    8     6      type  Lorg/eclipse/jdt/core/IType;
           13   20     4         i  I
           14   20     5    length  I
           16   18     6      type  Lorg/eclipse/jdt/core/IType;
           22   30     4  children  [Lorg/eclipse/jdt/core/IJavaElement;
           23   30     5         i  I
           24   30     6    length  I
           26   28     7      type  Lorg/eclipse/jdt/core/IType;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
          Name  Flags
      element   
      allTypes  

  private void getAllTypesFromHierarchy(org.eclipse.jdt.internal.core.JavaElement, java.util.ArrayList);
    descriptor: (Lorg/eclipse/jdt/internal/core/JavaElement;Ljava/util/ArrayList;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=8, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.hierarchy.ChangeCollector this
        start local 1 // org.eclipse.jdt.internal.core.JavaElement element
        start local 2 // java.util.ArrayList allTypes
         0: .line 372
            aload 1 /* element */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.getElementType:()I
            tableswitch { // 5 - 10
                    5: 1
                    6: 16
                    7: 6
                    8: 6
                    9: 6
                   10: 6
              default: 16
          }
         1: .line 374
      StackMap locals:
      StackMap stack:
            aload 1 /* element */
            checkcast org.eclipse.jdt.core.IOpenable
            astore 3 /* o */
        start local 3 // org.eclipse.jdt.core.IOpenable o
         2: .line 375
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.hierarchy:Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;
            getfield org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.files:Ljava/util/Map;
            aload 3 /* o */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.ArrayList
            astore 4 /* types */
        start local 4 // java.util.ArrayList types
         3: .line 376
            aload 4 /* types */
            ifnull 16
         4: .line 377
            aload 2 /* allTypes */
            aload 4 /* types */
            invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
            pop
         5: .line 379
            goto 16
        end local 4 // java.util.ArrayList types
        end local 3 // org.eclipse.jdt.core.IOpenable o
         6: .line 384
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.hierarchy:Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;
            getfield org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.files:Ljava/util/Map;
            aload 1 /* element */
            checkcast org.eclipse.jdt.core.IMember
            invokeinterface org.eclipse.jdt.core.IMember.getCompilationUnit:()Lorg/eclipse/jdt/core/ICompilationUnit;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.ArrayList
            astore 4 /* types */
        start local 4 // java.util.ArrayList types
         7: .line 385
            aload 4 /* types */
            ifnull 16
         8: .line 386
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         9: aload 4 /* types */
            invokevirtual java.util.ArrayList.size:()I
            istore 6 /* length */
        start local 6 // int length
        10: goto 15
        11: .line 387
      StackMap locals: org.eclipse.jdt.internal.core.hierarchy.ChangeCollector org.eclipse.jdt.internal.core.JavaElement java.util.ArrayList top java.util.ArrayList int int
      StackMap stack:
            aload 4 /* types */
            iload 5 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.IType
            astore 7 /* type */
        start local 7 // org.eclipse.jdt.core.IType type
        12: .line 388
            aload 1 /* element */
            aload 7 /* type */
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.isAncestorOf:(Lorg/eclipse/jdt/core/IJavaElement;)Z
            ifeq 14
        13: .line 389
            aload 2 /* allTypes */
            aload 7 /* type */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // org.eclipse.jdt.core.IType type
        14: .line 386
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 5 /* i */
            iload 6 /* length */
            if_icmplt 11
        end local 6 // int length
        end local 5 // int i
        end local 4 // java.util.ArrayList types
        16: .line 395
      StackMap locals: org.eclipse.jdt.internal.core.hierarchy.ChangeCollector org.eclipse.jdt.internal.core.JavaElement java.util.ArrayList
      StackMap stack:
            return
        end local 2 // java.util.ArrayList allTypes
        end local 1 // org.eclipse.jdt.internal.core.JavaElement element
        end local 0 // org.eclipse.jdt.internal.core.hierarchy.ChangeCollector this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   17     0      this  Lorg/eclipse/jdt/internal/core/hierarchy/ChangeCollector;
            0   17     1   element  Lorg/eclipse/jdt/internal/core/JavaElement;
            0   17     2  allTypes  Ljava/util/ArrayList;
            2    6     3         o  Lorg/eclipse/jdt/core/IOpenable;
            3    6     4     types  Ljava/util/ArrayList;
            7   16     4     types  Ljava/util/ArrayList;
            9   16     5         i  I
           10   16     6    length  I
           12   14     7      type  Lorg/eclipse/jdt/core/IType;
    MethodParameters:
          Name  Flags
      element   
      allTypes  

  private boolean hasSuperTypeChange(org.eclipse.jdt.core.IType);
    descriptor: (Lorg/eclipse/jdt/core/IType;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=10, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.hierarchy.ChangeCollector this
        start local 1 // org.eclipse.jdt.core.IType type
         0: .line 399
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.hierarchy:Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;
            aload 1 /* type */
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.getSuperclass:(Lorg/eclipse/jdt/core/IType;)Lorg/eclipse/jdt/core/IType;
            astore 2 /* superclass */
        start local 2 // org.eclipse.jdt.core.IType superclass
         1: .line 400
            aload 2 /* superclass */
            ifnonnull 2
            aconst_null
            goto 3
      StackMap locals: org.eclipse.jdt.core.IType
      StackMap stack:
         2: aload 2 /* superclass */
            invokeinterface org.eclipse.jdt.core.IType.getElementName:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         3: astore 3 /* existingSuperclassName */
        start local 3 // java.lang.String existingSuperclassName
         4: .line 401
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getSuperclassName:()Ljava/lang/String;
            astore 4 /* newSuperclassName */
        start local 4 // java.lang.String newSuperclassName
         5: .line 402
            aload 3 /* existingSuperclassName */
            ifnull 7
            aload 3 /* existingSuperclassName */
            aload 4 /* newSuperclassName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
         6: .line 403
            iconst_1
            ireturn
         7: .line 407
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.hierarchy:Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;
            aload 1 /* type */
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.getSuperInterfaces:(Lorg/eclipse/jdt/core/IType;)[Lorg/eclipse/jdt/core/IType;
            astore 5 /* existingSuperInterfaces */
        start local 5 // org.eclipse.jdt.core.IType[] existingSuperInterfaces
         8: .line 408
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getSuperInterfaceNames:()[Ljava/lang/String;
            astore 6 /* newSuperInterfaces */
        start local 6 // java.lang.String[] newSuperInterfaces
         9: .line 409
            aload 5 /* existingSuperInterfaces */
            arraylength
            aload 6 /* newSuperInterfaces */
            arraylength
            if_icmpeq 11
        10: .line 410
            iconst_1
            ireturn
        11: .line 412
      StackMap locals: org.eclipse.jdt.core.IType[] java.lang.String[]
      StackMap stack:
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        12: aload 6 /* newSuperInterfaces */
            arraylength
            istore 8 /* length */
        start local 8 // int length
        13: goto 18
        14: .line 413
      StackMap locals: int int
      StackMap stack:
            aload 6 /* newSuperInterfaces */
            iload 7 /* i */
            aaload
            astore 9 /* superInterfaceName */
        start local 9 // java.lang.String superInterfaceName
        15: .line 414
            aload 9 /* superInterfaceName */
            aload 6 /* newSuperInterfaces */
            iload 7 /* i */
            aaload
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
        16: .line 415
            iconst_1
            ireturn
        end local 9 // java.lang.String superInterfaceName
        17: .line 412
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 7 /* i */
            iload 8 /* length */
            if_icmplt 14
        end local 8 // int length
        end local 7 // int i
        19: .line 419
            iconst_0
            ireturn
        end local 6 // java.lang.String[] newSuperInterfaces
        end local 5 // org.eclipse.jdt.core.IType[] existingSuperInterfaces
        end local 4 // java.lang.String newSuperclassName
        end local 3 // java.lang.String existingSuperclassName
        end local 2 // org.eclipse.jdt.core.IType superclass
        end local 1 // org.eclipse.jdt.core.IType type
        end local 0 // org.eclipse.jdt.internal.core.hierarchy.ChangeCollector this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   20     0                     this  Lorg/eclipse/jdt/internal/core/hierarchy/ChangeCollector;
            0   20     1                     type  Lorg/eclipse/jdt/core/IType;
            1   20     2               superclass  Lorg/eclipse/jdt/core/IType;
            4   20     3   existingSuperclassName  Ljava/lang/String;
            5   20     4        newSuperclassName  Ljava/lang/String;
            8   20     5  existingSuperInterfaces  [Lorg/eclipse/jdt/core/IType;
            9   20     6       newSuperInterfaces  [Ljava/lang/String;
           12   19     7                        i  I
           13   19     8                   length  I
           15   17     9       superInterfaceName  Ljava/lang/String;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
      Name  Flags
      type  

  private boolean hasVisibilityChange(org.eclipse.jdt.core.IType);
    descriptor: (Lorg/eclipse/jdt/core/IType;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.hierarchy.ChangeCollector this
        start local 1 // org.eclipse.jdt.core.IType type
         0: .line 423
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.hierarchy:Lorg/eclipse/jdt/internal/core/hierarchy/TypeHierarchy;
            aload 1 /* type */
            invokevirtual org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.getCachedFlags:(Lorg/eclipse/jdt/core/IType;)I
            istore 2 /* existingFlags */
        start local 2 // int existingFlags
         1: .line 424
            aload 1 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getFlags:()I
            istore 3 /* newFlags */
        start local 3 // int newFlags
         2: .line 425
            iload 2 /* existingFlags */
            iload 3 /* newFlags */
            if_icmpeq 3
            iconst_1
            ireturn
      StackMap locals: int int
      StackMap stack:
         3: iconst_0
            ireturn
        end local 3 // int newFlags
        end local 2 // int existingFlags
        end local 1 // org.eclipse.jdt.core.IType type
        end local 0 // org.eclipse.jdt.internal.core.hierarchy.ChangeCollector this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lorg/eclipse/jdt/internal/core/hierarchy/ChangeCollector;
            0    4     1           type  Lorg/eclipse/jdt/core/IType;
            1    4     2  existingFlags  I
            2    4     3       newFlags  I
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
      Name  Flags
      type  

  public boolean needsRefresh();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.hierarchy.ChangeCollector this
         0: .line 432
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.changes:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.size:()I
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.eclipse.jdt.internal.core.hierarchy.ChangeCollector this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jdt/internal/core/hierarchy/ChangeCollector;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.hierarchy.ChangeCollector this
         0: .line 437
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 1 /* buffer */
        start local 1 // java.lang.StringBuffer buffer
         1: .line 438
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.core.hierarchy.ChangeCollector.changes:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2 /* iterator */
        start local 2 // java.util.Iterator iterator
         2: .line 439
            goto 8
         3: .line 440
      StackMap locals: java.lang.StringBuffer java.util.Iterator
      StackMap stack:
            aload 2 /* iterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* entry */
        start local 3 // java.util.Map$Entry entry
         4: .line 441
            aload 1 /* buffer */
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.internal.core.JavaElement
            invokevirtual org.eclipse.jdt.internal.core.JavaElement.toDebugString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         5: .line 442
            aload 1 /* buffer */
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
            pop
         6: .line 443
            aload 2 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 8
         7: .line 444
            aload 1 /* buffer */
            bipush 10
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        end local 3 // java.util.Map$Entry entry
         8: .line 439
      StackMap locals:
      StackMap stack:
            aload 2 /* iterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         9: .line 447
            aload 1 /* buffer */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.util.Iterator iterator
        end local 1 // java.lang.StringBuffer buffer
        end local 0 // org.eclipse.jdt.internal.core.hierarchy.ChangeCollector this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Lorg/eclipse/jdt/internal/core/hierarchy/ChangeCollector;
            1   10     1    buffer  Ljava/lang/StringBuffer;
            2   10     2  iterator  Ljava/util/Iterator;
            4    8     3     entry  Ljava/util/Map$Entry;
}
SourceFile: "ChangeCollector.java"
InnerClasses:
  public abstract Entry = java.util.Map$Entry of java.util.Map