class org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment extends org.eclipse.jdt.internal.corext.dom.fragments.ASTFragment implements org.eclipse.jdt.internal.corext.dom.fragments.IExpressionFragment
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment
  super_class: org.eclipse.jdt.internal.corext.dom.fragments.ASTFragment
{
  private final java.util.List<org.eclipse.jdt.core.dom.Expression> fOperands;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/eclipse/jdt/core/dom/Expression;>;

  private final org.eclipse.jdt.core.dom.InfixExpression fGroupRoot;
    descriptor: Lorg/eclipse/jdt/core/dom/InfixExpression;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public static org.eclipse.jdt.internal.corext.dom.fragments.IExpressionFragment createSubPartFragmentBySourceRange(org.eclipse.jdt.core.dom.InfixExpression, org.eclipse.jdt.core.ISourceRange, org.eclipse.jdt.core.ICompilationUnit);
    descriptor: (Lorg/eclipse/jdt/core/dom/InfixExpression;Lorg/eclipse/jdt/core/ISourceRange;Lorg/eclipse/jdt/core/ICompilationUnit;)Lorg/eclipse/jdt/internal/corext/dom/fragments/IExpressionFragment;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.eclipse.jdt.core.dom.InfixExpression node
        start local 1 // org.eclipse.jdt.core.ISourceRange range
        start local 2 // org.eclipse.jdt.core.ICompilationUnit cu
         0: .line 48
            aload 0 /* node */
            invokestatic org.eclipse.core.runtime.Assert.isNotNull:(Ljava/lang/Object;)V
         1: .line 49
            aload 1 /* range */
            invokestatic org.eclipse.core.runtime.Assert.isNotNull:(Ljava/lang/Object;)V
         2: .line 50
            aload 1 /* range */
            aload 0 /* node */
            invokestatic org.eclipse.jdt.internal.corext.dom.fragments.Util.covers:(Lorg/eclipse/jdt/core/ISourceRange;Lorg/eclipse/jdt/core/dom/ASTNode;)Z
            ifeq 3
            iconst_0
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_1
      StackMap locals:
      StackMap stack: int
         4: invokestatic org.eclipse.core.runtime.Assert.isTrue:(Z)Z
            pop
         5: .line 51
            aload 0 /* node */
            invokestatic org.eclipse.jdt.internal.corext.SourceRangeFactory.create:(Lorg/eclipse/jdt/core/dom/ASTNode;)Lorg/eclipse/jdt/core/ISourceRange;
            aload 1 /* range */
            invokestatic org.eclipse.jdt.internal.corext.dom.fragments.Util.covers:(Lorg/eclipse/jdt/core/ISourceRange;Lorg/eclipse/jdt/core/ISourceRange;)Z
            invokestatic org.eclipse.core.runtime.Assert.isTrue:(Z)Z
            pop
         6: .line 53
            aload 0 /* node */
            invokestatic org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.isAssociativeInfix:(Lorg/eclipse/jdt/core/dom/ASTNode;)Z
            ifne 8
         7: .line 54
            aconst_null
            areturn
         8: .line 56
      StackMap locals:
      StackMap stack:
            aload 0 /* node */
            invokestatic org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.findGroupRoot:(Lorg/eclipse/jdt/core/dom/InfixExpression;)Lorg/eclipse/jdt/core/dom/InfixExpression;
            astore 3 /* groupRoot */
        start local 3 // org.eclipse.jdt.core.dom.InfixExpression groupRoot
         9: .line 57
            aload 3 /* groupRoot */
            invokestatic org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.isAGroupRoot:(Lorg/eclipse/jdt/core/dom/ASTNode;)Z
            invokestatic org.eclipse.core.runtime.Assert.isTrue:(Z)Z
            pop
        10: .line 59
            aload 3 /* groupRoot */
            invokestatic org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.findGroupMembersInOrderFor:(Lorg/eclipse/jdt/core/dom/InfixExpression;)Ljava/util/ArrayList;
            astore 4 /* groupMembers */
        start local 4 // java.util.List groupMembers
        11: .line 60
            aload 4 /* groupMembers */
            aload 1 /* range */
            invokestatic org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.findSubGroupForSourceRange:(Ljava/util/List;Lorg/eclipse/jdt/core/ISourceRange;)Ljava/util/List;
            astore 5 /* subGroup */
        start local 5 // java.util.List subGroup
        12: .line 61
            aload 5 /* subGroup */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 13
            aload 1 /* range */
            aload 5 /* subGroup */
            aload 2 /* cu */
            invokestatic org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.rangeIncludesExtraNonWhitespace:(Lorg/eclipse/jdt/core/ISourceRange;Ljava/util/List;Lorg/eclipse/jdt/core/ICompilationUnit;)Z
            ifeq 14
        13: .line 62
      StackMap locals: org.eclipse.jdt.core.dom.InfixExpression java.util.List java.util.List
      StackMap stack:
            aconst_null
            areturn
        14: .line 64
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment
            dup
            aload 3 /* groupRoot */
            aload 5 /* subGroup */
            invokespecial org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.<init>:(Lorg/eclipse/jdt/core/dom/InfixExpression;Ljava/util/List;)V
            areturn
        end local 5 // java.util.List subGroup
        end local 4 // java.util.List groupMembers
        end local 3 // org.eclipse.jdt.core.dom.InfixExpression groupRoot
        end local 2 // org.eclipse.jdt.core.ICompilationUnit cu
        end local 1 // org.eclipse.jdt.core.ISourceRange range
        end local 0 // org.eclipse.jdt.core.dom.InfixExpression node
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   15     0          node  Lorg/eclipse/jdt/core/dom/InfixExpression;
            0   15     1         range  Lorg/eclipse/jdt/core/ISourceRange;
            0   15     2            cu  Lorg/eclipse/jdt/core/ICompilationUnit;
            9   15     3     groupRoot  Lorg/eclipse/jdt/core/dom/InfixExpression;
           11   15     4  groupMembers  Ljava/util/List<Lorg/eclipse/jdt/core/dom/Expression;>;
           12   15     5      subGroup  Ljava/util/List<Lorg/eclipse/jdt/core/dom/Expression;>;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
       Name  Flags
      node   
      range  
      cu     

  public static org.eclipse.jdt.internal.corext.dom.fragments.IExpressionFragment createFragmentForFullSubtree(org.eclipse.jdt.core.dom.InfixExpression);
    descriptor: (Lorg/eclipse/jdt/core/dom/InfixExpression;)Lorg/eclipse/jdt/internal/corext/dom/fragments/IExpressionFragment;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.InfixExpression node
         0: .line 68
            aload 0 /* node */
            invokestatic org.eclipse.core.runtime.Assert.isNotNull:(Ljava/lang/Object;)V
         1: .line 70
            aload 0 /* node */
            invokestatic org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.isAssociativeInfix:(Lorg/eclipse/jdt/core/dom/ASTNode;)Z
            ifne 3
         2: .line 71
            aconst_null
            areturn
         3: .line 73
      StackMap locals:
      StackMap stack:
            aload 0 /* node */
            invokestatic org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.findGroupRoot:(Lorg/eclipse/jdt/core/dom/InfixExpression;)Lorg/eclipse/jdt/core/dom/InfixExpression;
            astore 1 /* groupRoot */
        start local 1 // org.eclipse.jdt.core.dom.InfixExpression groupRoot
         4: .line 74
            aload 1 /* groupRoot */
            invokestatic org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.isAGroupRoot:(Lorg/eclipse/jdt/core/dom/ASTNode;)Z
            invokestatic org.eclipse.core.runtime.Assert.isTrue:(Z)Z
            pop
         5: .line 76
            aload 0 /* node */
            invokestatic org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.findGroupMembersInOrderFor:(Lorg/eclipse/jdt/core/dom/InfixExpression;)Ljava/util/ArrayList;
            astore 2 /* groupMembers */
        start local 2 // java.util.List groupMembers
         6: .line 78
            new org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment
            dup
            aload 1 /* groupRoot */
            aload 2 /* groupMembers */
            invokespecial org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.<init>:(Lorg/eclipse/jdt/core/dom/InfixExpression;Ljava/util/List;)V
            areturn
        end local 2 // java.util.List groupMembers
        end local 1 // org.eclipse.jdt.core.dom.InfixExpression groupRoot
        end local 0 // org.eclipse.jdt.core.dom.InfixExpression node
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          node  Lorg/eclipse/jdt/core/dom/InfixExpression;
            4    7     1     groupRoot  Lorg/eclipse/jdt/core/dom/InfixExpression;
            6    7     2  groupMembers  Ljava/util/List<Lorg/eclipse/jdt/core/dom/Expression;>;
    MethodParameters:
      Name  Flags
      node  

  private static org.eclipse.jdt.core.dom.InfixExpression findGroupRoot(org.eclipse.jdt.core.dom.InfixExpression);
    descriptor: (Lorg/eclipse/jdt/core/dom/InfixExpression;)Lorg/eclipse/jdt/core/dom/InfixExpression;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.InfixExpression node
         0: .line 82
            aload 0 /* node */
            invokestatic org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.isAssociativeInfix:(Lorg/eclipse/jdt/core/dom/ASTNode;)Z
            invokestatic org.eclipse.core.runtime.Assert.isTrue:(Z)Z
            pop
         1: .line 84
            goto 9
         2: .line 85
      StackMap locals:
      StackMap stack:
            aload 0 /* node */
            invokevirtual org.eclipse.jdt.core.dom.InfixExpression.getParent:()Lorg/eclipse/jdt/core/dom/ASTNode;
            astore 1 /* parent */
        start local 1 // org.eclipse.jdt.core.dom.ASTNode parent
         3: .line 87
            aload 1 /* parent */
            invokestatic org.eclipse.core.runtime.Assert.isNotNull:(Ljava/lang/Object;)V
         4: .line 88
            aload 1 /* parent */
            invokestatic org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.isAssociativeInfix:(Lorg/eclipse/jdt/core/dom/ASTNode;)Z
            invokestatic org.eclipse.core.runtime.Assert.isTrue:(Z)Z
            pop
         5: .line 89
            aload 1 /* parent */
            checkcast org.eclipse.jdt.core.dom.InfixExpression
            invokevirtual org.eclipse.jdt.core.dom.InfixExpression.getOperator:()Lorg/eclipse/jdt/core/dom/InfixExpression$Operator;
            aload 0 /* node */
            invokevirtual org.eclipse.jdt.core.dom.InfixExpression.getOperator:()Lorg/eclipse/jdt/core/dom/InfixExpression$Operator;
            if_acmpne 6
            iconst_1
            goto 7
      StackMap locals: org.eclipse.jdt.core.dom.ASTNode
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: invokestatic org.eclipse.core.runtime.Assert.isTrue:(Z)Z
            pop
         8: .line 91
            aload 1 /* parent */
            checkcast org.eclipse.jdt.core.dom.InfixExpression
            astore 0 /* node */
        end local 1 // org.eclipse.jdt.core.dom.ASTNode parent
         9: .line 84
      StackMap locals:
      StackMap stack:
            aload 0 /* node */
            invokestatic org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.isAGroupRoot:(Lorg/eclipse/jdt/core/dom/ASTNode;)Z
            ifeq 2
        10: .line 94
            aload 0 /* node */
            areturn
        end local 0 // org.eclipse.jdt.core.dom.InfixExpression node
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    node  Lorg/eclipse/jdt/core/dom/InfixExpression;
            3    9     1  parent  Lorg/eclipse/jdt/core/dom/ASTNode;
    MethodParameters:
      Name  Flags
      node  

  private static java.util.List<org.eclipse.jdt.core.dom.Expression> findSubGroupForSourceRange(java.util.List<org.eclipse.jdt.core.dom.Expression>, org.eclipse.jdt.core.ISourceRange);
    descriptor: (Ljava/util/List;Lorg/eclipse/jdt/core/ISourceRange;)Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // java.util.List group
        start local 1 // org.eclipse.jdt.core.ISourceRange range
         0: .line 98
            aload 0 /* group */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: invokestatic org.eclipse.core.runtime.Assert.isTrue:(Z)Z
            pop
         3: .line 100
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* subGroup */
        start local 2 // java.util.List subGroup
         4: .line 102
            iconst_0
            istore 3 /* entered */
        start local 3 // boolean entered
         5: iconst_0
            istore 4 /* exited */
        start local 4 // boolean exited
         6: .line 103
            aload 1 /* range */
            invokeinterface org.eclipse.jdt.core.ISourceRange.getOffset:()I
            aload 0 /* group */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.dom.Expression
            invokevirtual org.eclipse.jdt.core.dom.Expression.getStartPosition:()I
            if_icmpne 8
         7: .line 104
            iconst_1
            istore 3 /* entered */
         8: .line 105
      StackMap locals: java.util.List int int
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         9: goto 20
        10: .line 106
      StackMap locals: int
      StackMap stack:
            aload 0 /* group */
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.dom.Expression
            astore 6 /* member */
        start local 6 // org.eclipse.jdt.core.dom.Expression member
        11: .line 107
            aload 0 /* group */
            iload 5 /* i */
            iconst_1
            iadd
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.dom.Expression
            astore 7 /* nextMember */
        start local 7 // org.eclipse.jdt.core.dom.Expression nextMember
        12: .line 109
            iload 3 /* entered */
            ifeq 17
        13: .line 110
            aload 2 /* subGroup */
            aload 6 /* member */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        14: .line 111
            aload 1 /* range */
            aload 6 /* member */
            aload 7 /* nextMember */
            invokestatic org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.rangeEndsBetween:(Lorg/eclipse/jdt/core/ISourceRange;Lorg/eclipse/jdt/core/dom/ASTNode;Lorg/eclipse/jdt/core/dom/ASTNode;)Z
            ifeq 19
        15: .line 112
            iconst_1
            istore 4 /* exited */
        16: .line 113
            goto 21
        17: .line 117
      StackMap locals: org.eclipse.jdt.core.dom.Expression org.eclipse.jdt.core.dom.Expression
      StackMap stack:
            aload 1 /* range */
            aload 6 /* member */
            aload 7 /* nextMember */
            invokestatic org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.rangeStartsBetween:(Lorg/eclipse/jdt/core/ISourceRange;Lorg/eclipse/jdt/core/dom/ASTNode;Lorg/eclipse/jdt/core/dom/ASTNode;)Z
            ifeq 19
        18: .line 118
            iconst_1
            istore 3 /* entered */
        end local 7 // org.eclipse.jdt.core.dom.Expression nextMember
        end local 6 // org.eclipse.jdt.core.dom.Expression member
        19: .line 105
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 5 /* i */
            aload 0 /* group */
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            if_icmplt 10
        end local 5 // int i
        21: .line 121
      StackMap locals:
      StackMap stack:
            aload 0 /* group */
            aload 0 /* group */
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.dom.Expression
            astore 5 /* lastGroupMember */
        start local 5 // org.eclipse.jdt.core.dom.Expression lastGroupMember
        22: .line 122
            aload 1 /* range */
            invokestatic org.eclipse.jdt.internal.corext.dom.fragments.Util.getEndExclusive:(Lorg/eclipse/jdt/core/ISourceRange;)I
            aload 5 /* lastGroupMember */
            invokestatic org.eclipse.jdt.internal.corext.SourceRangeFactory.create:(Lorg/eclipse/jdt/core/dom/ASTNode;)Lorg/eclipse/jdt/core/ISourceRange;
            invokestatic org.eclipse.jdt.internal.corext.dom.fragments.Util.getEndExclusive:(Lorg/eclipse/jdt/core/ISourceRange;)I
            if_icmpne 25
        23: .line 123
            aload 2 /* subGroup */
            aload 5 /* lastGroupMember */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        24: .line 124
            iconst_1
            istore 4 /* exited */
        25: .line 127
      StackMap locals: org.eclipse.jdt.core.dom.Expression
      StackMap stack:
            iload 4 /* exited */
            ifne 27
        26: .line 128
            new java.util.ArrayList
            dup
            iconst_0
            invokespecial java.util.ArrayList.<init>:(I)V
            areturn
        27: .line 129
      StackMap locals:
      StackMap stack:
            aload 2 /* subGroup */
            areturn
        end local 5 // org.eclipse.jdt.core.dom.Expression lastGroupMember
        end local 4 // boolean exited
        end local 3 // boolean entered
        end local 2 // java.util.List subGroup
        end local 1 // org.eclipse.jdt.core.ISourceRange range
        end local 0 // java.util.List group
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   28     0            group  Ljava/util/List<Lorg/eclipse/jdt/core/dom/Expression;>;
            0   28     1            range  Lorg/eclipse/jdt/core/ISourceRange;
            4   28     2         subGroup  Ljava/util/List<Lorg/eclipse/jdt/core/dom/Expression;>;
            5   28     3          entered  Z
            6   28     4           exited  Z
            9   21     5                i  I
           11   19     6           member  Lorg/eclipse/jdt/core/dom/Expression;
           12   19     7       nextMember  Lorg/eclipse/jdt/core/dom/Expression;
           22   28     5  lastGroupMember  Lorg/eclipse/jdt/core/dom/Expression;
    Signature: (Ljava/util/List<Lorg/eclipse/jdt/core/dom/Expression;>;Lorg/eclipse/jdt/core/ISourceRange;)Ljava/util/List<Lorg/eclipse/jdt/core/dom/Expression;>;
    MethodParameters:
       Name  Flags
      group  
      range  

  private static boolean rangeStartsBetween(org.eclipse.jdt.core.ISourceRange, org.eclipse.jdt.core.dom.ASTNode, org.eclipse.jdt.core.dom.ASTNode);
    descriptor: (Lorg/eclipse/jdt/core/ISourceRange;Lorg/eclipse/jdt/core/dom/ASTNode;Lorg/eclipse/jdt/core/dom/ASTNode;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.core.ISourceRange range
        start local 1 // org.eclipse.jdt.core.dom.ASTNode first
        start local 2 // org.eclipse.jdt.core.dom.ASTNode next
         0: .line 134
            aload 0 /* range */
            invokeinterface org.eclipse.jdt.core.ISourceRange.getOffset:()I
            istore 3 /* pos */
        start local 3 // int pos
         1: .line 135
            aload 1 /* first */
            invokevirtual org.eclipse.jdt.core.dom.ASTNode.getStartPosition:()I
            aload 1 /* first */
            invokevirtual org.eclipse.jdt.core.dom.ASTNode.getLength:()I
            iadd
            iload 3 /* pos */
            if_icmpgt 4
         2: .line 136
            iload 3 /* pos */
            aload 2 /* next */
            invokevirtual org.eclipse.jdt.core.dom.ASTNode.getStartPosition:()I
         3: .line 135
            if_icmpgt 4
            iconst_1
            ireturn
      StackMap locals: int
      StackMap stack:
         4: iconst_0
            ireturn
        end local 3 // int pos
        end local 2 // org.eclipse.jdt.core.dom.ASTNode next
        end local 1 // org.eclipse.jdt.core.dom.ASTNode first
        end local 0 // org.eclipse.jdt.core.ISourceRange range
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0  range  Lorg/eclipse/jdt/core/ISourceRange;
            0    5     1  first  Lorg/eclipse/jdt/core/dom/ASTNode;
            0    5     2   next  Lorg/eclipse/jdt/core/dom/ASTNode;
            1    5     3    pos  I
    MethodParameters:
       Name  Flags
      range  
      first  
      next   

  private static boolean rangeEndsBetween(org.eclipse.jdt.core.ISourceRange, org.eclipse.jdt.core.dom.ASTNode, org.eclipse.jdt.core.dom.ASTNode);
    descriptor: (Lorg/eclipse/jdt/core/ISourceRange;Lorg/eclipse/jdt/core/dom/ASTNode;Lorg/eclipse/jdt/core/dom/ASTNode;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.core.ISourceRange range
        start local 1 // org.eclipse.jdt.core.dom.ASTNode first
        start local 2 // org.eclipse.jdt.core.dom.ASTNode next
         0: .line 140
            aload 0 /* range */
            invokestatic org.eclipse.jdt.internal.corext.dom.fragments.Util.getEndExclusive:(Lorg/eclipse/jdt/core/ISourceRange;)I
            istore 3 /* pos */
        start local 3 // int pos
         1: .line 141
            aload 1 /* first */
            invokevirtual org.eclipse.jdt.core.dom.ASTNode.getStartPosition:()I
            aload 1 /* first */
            invokevirtual org.eclipse.jdt.core.dom.ASTNode.getLength:()I
            iadd
            iload 3 /* pos */
            if_icmpgt 4
         2: .line 142
            iload 3 /* pos */
            aload 2 /* next */
            invokevirtual org.eclipse.jdt.core.dom.ASTNode.getStartPosition:()I
         3: .line 141
            if_icmpgt 4
            iconst_1
            ireturn
      StackMap locals: int
      StackMap stack:
         4: iconst_0
            ireturn
        end local 3 // int pos
        end local 2 // org.eclipse.jdt.core.dom.ASTNode next
        end local 1 // org.eclipse.jdt.core.dom.ASTNode first
        end local 0 // org.eclipse.jdt.core.ISourceRange range
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0  range  Lorg/eclipse/jdt/core/ISourceRange;
            0    5     1  first  Lorg/eclipse/jdt/core/dom/ASTNode;
            0    5     2   next  Lorg/eclipse/jdt/core/dom/ASTNode;
            1    5     3    pos  I
    MethodParameters:
       Name  Flags
      range  
      first  
      next   

  private static boolean rangeIncludesExtraNonWhitespace(org.eclipse.jdt.core.ISourceRange, java.util.List<org.eclipse.jdt.core.dom.Expression>, org.eclipse.jdt.core.ICompilationUnit);
    descriptor: (Lorg/eclipse/jdt/core/ISourceRange;Ljava/util/List;Lorg/eclipse/jdt/core/ICompilationUnit;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.core.ISourceRange range
        start local 1 // java.util.List operands
        start local 2 // org.eclipse.jdt.core.ICompilationUnit cu
         0: .line 146
            aload 0 /* range */
            aload 1 /* operands */
            invokestatic org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.getRangeOfOperands:(Ljava/util/List;)Lorg/eclipse/jdt/core/ISourceRange;
            aload 2 /* cu */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getBuffer:()Lorg/eclipse/jdt/core/IBuffer;
            invokestatic org.eclipse.jdt.internal.corext.dom.fragments.Util.rangeIncludesNonWhitespaceOutsideRange:(Lorg/eclipse/jdt/core/ISourceRange;Lorg/eclipse/jdt/core/ISourceRange;Lorg/eclipse/jdt/core/IBuffer;)Z
            ireturn
        end local 2 // org.eclipse.jdt.core.ICompilationUnit cu
        end local 1 // java.util.List operands
        end local 0 // org.eclipse.jdt.core.ISourceRange range
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0     range  Lorg/eclipse/jdt/core/ISourceRange;
            0    1     1  operands  Ljava/util/List<Lorg/eclipse/jdt/core/dom/Expression;>;
            0    1     2        cu  Lorg/eclipse/jdt/core/ICompilationUnit;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    Signature: (Lorg/eclipse/jdt/core/ISourceRange;Ljava/util/List<Lorg/eclipse/jdt/core/dom/Expression;>;Lorg/eclipse/jdt/core/ICompilationUnit;)Z
    MethodParameters:
          Name  Flags
      range     
      operands  
      cu        

  private static org.eclipse.jdt.core.ISourceRange getRangeOfOperands(java.util.List<org.eclipse.jdt.core.dom.Expression>);
    descriptor: (Ljava/util/List;)Lorg/eclipse/jdt/core/ISourceRange;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // java.util.List operands
         0: .line 150
            aload 0 /* operands */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.dom.Expression
            astore 1 /* first */
        start local 1 // org.eclipse.jdt.core.dom.Expression first
         1: .line 151
            aload 0 /* operands */
            aload 0 /* operands */
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.dom.Expression
            astore 2 /* last */
        start local 2 // org.eclipse.jdt.core.dom.Expression last
         2: .line 152
            new org.eclipse.jdt.core.SourceRange
            dup
            aload 1 /* first */
            invokevirtual org.eclipse.jdt.core.dom.Expression.getStartPosition:()I
            aload 2 /* last */
            invokevirtual org.eclipse.jdt.core.dom.Expression.getStartPosition:()I
            aload 2 /* last */
            invokevirtual org.eclipse.jdt.core.dom.Expression.getLength:()I
            iadd
            aload 1 /* first */
            invokevirtual org.eclipse.jdt.core.dom.Expression.getStartPosition:()I
            isub
            invokespecial org.eclipse.jdt.core.SourceRange.<init>:(II)V
            areturn
        end local 2 // org.eclipse.jdt.core.dom.Expression last
        end local 1 // org.eclipse.jdt.core.dom.Expression first
        end local 0 // java.util.List operands
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  operands  Ljava/util/List<Lorg/eclipse/jdt/core/dom/Expression;>;
            1    3     1     first  Lorg/eclipse/jdt/core/dom/Expression;
            2    3     2      last  Lorg/eclipse/jdt/core/dom/Expression;
    Signature: (Ljava/util/List<Lorg/eclipse/jdt/core/dom/Expression;>;)Lorg/eclipse/jdt/core/ISourceRange;
    MethodParameters:
          Name  Flags
      operands  

  public org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment[] getMatchingFragmentsWithNode(org.eclipse.jdt.core.dom.ASTNode);
    descriptor: (Lorg/eclipse/jdt/core/dom/ASTNode;)[Lorg/eclipse/jdt/internal/corext/dom/fragments/IASTFragment;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment this
        start local 1 // org.eclipse.jdt.core.dom.ASTNode node
         0: .line 157
            aload 1 /* node */
            invokestatic org.eclipse.jdt.internal.corext.dom.fragments.ASTFragmentFactory.createFragmentForFullSubtree:(Lorg/eclipse/jdt/core/dom/ASTNode;)Lorg/eclipse/jdt/internal/corext/dom/fragments/IASTFragment;
            astore 2 /* fragmentForNode */
        start local 2 // org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment fragmentForNode
         1: .line 158
            aload 2 /* fragmentForNode */
            instanceof org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment
            ifeq 4
         2: .line 159
            aload 2 /* fragmentForNode */
            checkcast org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment
            astore 3 /* kin */
        start local 3 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment kin
         3: .line 160
            aload 3 /* kin */
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.getSubFragmentsWithMyNodeMatching:(Lorg/eclipse/jdt/internal/corext/dom/fragments/IASTFragment;)[Lorg/eclipse/jdt/internal/corext/dom/fragments/IASTFragment;
            areturn
        end local 3 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment kin
         4: .line 162
      StackMap locals: org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment
      StackMap stack:
            iconst_0
            anewarray org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment
            areturn
        end local 2 // org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment fragmentForNode
        end local 1 // org.eclipse.jdt.core.dom.ASTNode node
        end local 0 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Lorg/eclipse/jdt/internal/corext/dom/fragments/AssociativeInfixExpressionFragment;
            0    5     1             node  Lorg/eclipse/jdt/core/dom/ASTNode;
            1    5     2  fragmentForNode  Lorg/eclipse/jdt/internal/corext/dom/fragments/IASTFragment;
            3    4     3              kin  Lorg/eclipse/jdt/internal/corext/dom/fragments/AssociativeInfixExpressionFragment;
    MethodParameters:
      Name  Flags
      node  

  private static java.util.List<java.util.List<org.eclipse.jdt.core.dom.Expression>> getMatchingContiguousNodeSubsequences(java.util.List<org.eclipse.jdt.core.dom.Expression>, java.util.List<org.eclipse.jdt.core.dom.Expression>);
    descriptor: (Ljava/util/List;Ljava/util/List;)Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // java.util.List source
        start local 1 // java.util.List toMatch
         0: .line 176
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* subsequences */
        start local 2 // java.util.List subsequences
         1: .line 178
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 8
         3: .line 179
      StackMap locals: java.util.List int
      StackMap stack:
            iload 3 /* i */
            aload 0 /* source */
            aload 1 /* toMatch */
            invokestatic org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.matchesAt:(ILjava/util/List;Ljava/util/List;)Z
            ifeq 7
         4: .line 180
            aload 2 /* subsequences */
            aload 0 /* source */
            iload 3 /* i */
            iload 3 /* i */
            aload 1 /* toMatch */
            invokeinterface java.util.List.size:()I
            iadd
            invokeinterface java.util.List.subList:(II)Ljava/util/List;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         5: .line 181
            iload 3 /* i */
            aload 1 /* toMatch */
            invokeinterface java.util.List.size:()I
            iadd
            istore 3 /* i */
         6: .line 182
            goto 8
         7: .line 183
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
         8: .line 178
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            aload 0 /* source */
            invokeinterface java.util.List.size:()I
            if_icmplt 3
        end local 3 // int i
         9: .line 186
            aload 2 /* subsequences */
            areturn
        end local 2 // java.util.List subsequences
        end local 1 // java.util.List toMatch
        end local 0 // java.util.List source
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0        source  Ljava/util/List<Lorg/eclipse/jdt/core/dom/Expression;>;
            0   10     1       toMatch  Ljava/util/List<Lorg/eclipse/jdt/core/dom/Expression;>;
            1   10     2  subsequences  Ljava/util/List<Ljava/util/List<Lorg/eclipse/jdt/core/dom/Expression;>;>;
            2    9     3             i  I
    Signature: (Ljava/util/List<Lorg/eclipse/jdt/core/dom/Expression;>;Ljava/util/List<Lorg/eclipse/jdt/core/dom/Expression;>;)Ljava/util/List<Ljava/util/List<Lorg/eclipse/jdt/core/dom/Expression;>;>;
    MethodParameters:
         Name  Flags
      source   
      toMatch  

  private static boolean matchesAt(int, java.util.List<org.eclipse.jdt.core.dom.Expression>, java.util.List<org.eclipse.jdt.core.dom.Expression>);
    descriptor: (ILjava/util/List;Ljava/util/List;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // int index
        start local 1 // java.util.List subject
        start local 2 // java.util.List toMatch
         0: .line 190
            iload 0 /* index */
            aload 2 /* toMatch */
            invokeinterface java.util.List.size:()I
            iadd
            aload 1 /* subject */
            invokeinterface java.util.List.size:()I
            if_icmple 2
         1: .line 191
            iconst_0
            ireturn
         2: .line 192
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 9
         4: .line 194
      StackMap locals: int
      StackMap stack:
            aload 1 /* subject */
            iload 0 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.dom.ASTNode
            aload 2 /* toMatch */
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.dom.ASTNode
         5: .line 193
            invokestatic org.eclipse.jdt.internal.corext.dom.JdtASTMatcher.doNodesMatch:(Lorg/eclipse/jdt/core/dom/ASTNode;Lorg/eclipse/jdt/core/dom/ASTNode;)Z
         6: .line 195
            ifne 8
         7: .line 197
            iconst_0
            ireturn
         8: .line 192
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
            iinc 0 /* index */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            aload 2 /* toMatch */
            invokeinterface java.util.List.size:()I
            if_icmplt 4
        end local 3 // int i
        10: .line 199
            iconst_1
            ireturn
        end local 2 // java.util.List toMatch
        end local 1 // java.util.List subject
        end local 0 // int index
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0    index  I
            0   11     1  subject  Ljava/util/List<Lorg/eclipse/jdt/core/dom/Expression;>;
            0   11     2  toMatch  Ljava/util/List<Lorg/eclipse/jdt/core/dom/Expression;>;
            3   10     3        i  I
    Signature: (ILjava/util/List<Lorg/eclipse/jdt/core/dom/Expression;>;Ljava/util/List<Lorg/eclipse/jdt/core/dom/Expression;>;)Z
    MethodParameters:
         Name  Flags
      index    
      subject  
      toMatch  

  private static boolean isAGroupRoot(org.eclipse.jdt.core.dom.ASTNode);
    descriptor: (Lorg/eclipse/jdt/core/dom/ASTNode;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.ASTNode node
         0: .line 203
            aload 0 /* node */
            invokestatic org.eclipse.core.runtime.Assert.isNotNull:(Ljava/lang/Object;)V
         1: .line 205
            aload 0 /* node */
            invokestatic org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.isAssociativeInfix:(Lorg/eclipse/jdt/core/dom/ASTNode;)Z
            ifeq 4
         2: .line 206
            aload 0 /* node */
            checkcast org.eclipse.jdt.core.dom.InfixExpression
            invokestatic org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.isParentInfixWithSameOperator:(Lorg/eclipse/jdt/core/dom/InfixExpression;)Z
            ifne 4
         3: .line 205
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
        end local 0 // org.eclipse.jdt.core.dom.ASTNode node
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  node  Lorg/eclipse/jdt/core/dom/ASTNode;
    MethodParameters:
      Name  Flags
      node  

  private static boolean isAssociativeInfix(org.eclipse.jdt.core.dom.ASTNode);
    descriptor: (Lorg/eclipse/jdt/core/dom/ASTNode;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.ASTNode node
         0: .line 210
            aload 0 /* node */
            instanceof org.eclipse.jdt.core.dom.InfixExpression
            ifeq 1
            aload 0 /* node */
            checkcast org.eclipse.jdt.core.dom.InfixExpression
            invokevirtual org.eclipse.jdt.core.dom.InfixExpression.getOperator:()Lorg/eclipse/jdt/core/dom/InfixExpression$Operator;
            invokestatic org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.isOperatorAssociative:(Lorg/eclipse/jdt/core/dom/InfixExpression$Operator;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.eclipse.jdt.core.dom.ASTNode node
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  node  Lorg/eclipse/jdt/core/dom/ASTNode;
    MethodParameters:
      Name  Flags
      node  

  private static boolean isParentInfixWithSameOperator(org.eclipse.jdt.core.dom.InfixExpression);
    descriptor: (Lorg/eclipse/jdt/core/dom/InfixExpression;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.InfixExpression node
         0: .line 214
            aload 0 /* node */
            invokevirtual org.eclipse.jdt.core.dom.InfixExpression.getParent:()Lorg/eclipse/jdt/core/dom/ASTNode;
            instanceof org.eclipse.jdt.core.dom.InfixExpression
            ifeq 3
         1: .line 215
            aload 0 /* node */
            invokevirtual org.eclipse.jdt.core.dom.InfixExpression.getParent:()Lorg/eclipse/jdt/core/dom/ASTNode;
            checkcast org.eclipse.jdt.core.dom.InfixExpression
            invokevirtual org.eclipse.jdt.core.dom.InfixExpression.getOperator:()Lorg/eclipse/jdt/core/dom/InfixExpression$Operator;
            aload 0 /* node */
            invokevirtual org.eclipse.jdt.core.dom.InfixExpression.getOperator:()Lorg/eclipse/jdt/core/dom/InfixExpression$Operator;
            if_acmpne 3
         2: .line 214
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 0 // org.eclipse.jdt.core.dom.InfixExpression node
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  node  Lorg/eclipse/jdt/core/dom/InfixExpression;
    MethodParameters:
      Name  Flags
      node  

  private static boolean isOperatorAssociative(org.eclipse.jdt.core.dom.InfixExpression$Operator);
    descriptor: (Lorg/eclipse/jdt/core/dom/InfixExpression$Operator;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.InfixExpression$Operator operator
         0: .line 219
            aload 0 /* operator */
            getstatic org.eclipse.jdt.core.dom.InfixExpression$Operator.PLUS:Lorg/eclipse/jdt/core/dom/InfixExpression$Operator;
            if_acmpeq 8
         1: .line 220
            aload 0 /* operator */
            getstatic org.eclipse.jdt.core.dom.InfixExpression$Operator.TIMES:Lorg/eclipse/jdt/core/dom/InfixExpression$Operator;
            if_acmpeq 8
         2: .line 221
            aload 0 /* operator */
            getstatic org.eclipse.jdt.core.dom.InfixExpression$Operator.XOR:Lorg/eclipse/jdt/core/dom/InfixExpression$Operator;
            if_acmpeq 8
         3: .line 222
            aload 0 /* operator */
            getstatic org.eclipse.jdt.core.dom.InfixExpression$Operator.OR:Lorg/eclipse/jdt/core/dom/InfixExpression$Operator;
            if_acmpeq 8
         4: .line 223
            aload 0 /* operator */
            getstatic org.eclipse.jdt.core.dom.InfixExpression$Operator.AND:Lorg/eclipse/jdt/core/dom/InfixExpression$Operator;
            if_acmpeq 8
         5: .line 224
            aload 0 /* operator */
            getstatic org.eclipse.jdt.core.dom.InfixExpression$Operator.CONDITIONAL_OR:Lorg/eclipse/jdt/core/dom/InfixExpression$Operator;
            if_acmpeq 8
         6: .line 225
            aload 0 /* operator */
            getstatic org.eclipse.jdt.core.dom.InfixExpression$Operator.CONDITIONAL_AND:Lorg/eclipse/jdt/core/dom/InfixExpression$Operator;
            if_acmpeq 8
         7: .line 219
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         8: iconst_1
            ireturn
        end local 0 // org.eclipse.jdt.core.dom.InfixExpression$Operator operator
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0  operator  Lorg/eclipse/jdt/core/dom/InfixExpression$Operator;
    MethodParameters:
          Name  Flags
      operator  

  private void <init>(org.eclipse.jdt.core.dom.InfixExpression, java.util.List<org.eclipse.jdt.core.dom.Expression>);
    descriptor: (Lorg/eclipse/jdt/core/dom/InfixExpression;Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment this
        start local 1 // org.eclipse.jdt.core.dom.InfixExpression groupRoot
        start local 2 // java.util.List operands
         0: .line 228
            aload 0 /* this */
            invokespecial org.eclipse.jdt.internal.corext.dom.fragments.ASTFragment.<init>:()V
         1: .line 229
            aload 1 /* groupRoot */
            invokestatic org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.isAGroupRoot:(Lorg/eclipse/jdt/core/dom/ASTNode;)Z
            invokestatic org.eclipse.core.runtime.Assert.isTrue:(Z)Z
            pop
         2: .line 230
            aload 2 /* operands */
            invokeinterface java.util.List.size:()I
            iconst_2
            if_icmplt 3
            iconst_1
            goto 4
      StackMap locals: org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment org.eclipse.jdt.core.dom.InfixExpression java.util.List
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: invokestatic org.eclipse.core.runtime.Assert.isTrue:(Z)Z
            pop
         5: .line 231
            aload 0 /* this */
            aload 1 /* groupRoot */
            putfield org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.fGroupRoot:Lorg/eclipse/jdt/core/dom/InfixExpression;
         6: .line 232
            aload 0 /* this */
            aload 2 /* operands */
            invokestatic java.util.Collections.unmodifiableList:(Ljava/util/List;)Ljava/util/List;
            putfield org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.fOperands:Ljava/util/List;
         7: .line 233
            return
        end local 2 // java.util.List operands
        end local 1 // org.eclipse.jdt.core.dom.InfixExpression groupRoot
        end local 0 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/eclipse/jdt/internal/corext/dom/fragments/AssociativeInfixExpressionFragment;
            0    8     1  groupRoot  Lorg/eclipse/jdt/core/dom/InfixExpression;
            0    8     2   operands  Ljava/util/List<Lorg/eclipse/jdt/core/dom/Expression;>;
    Signature: (Lorg/eclipse/jdt/core/dom/InfixExpression;Ljava/util/List<Lorg/eclipse/jdt/core/dom/Expression;>;)V
    MethodParameters:
           Name  Flags
      groupRoot  
      operands   

  public boolean matches(org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment);
    descriptor: (Lorg/eclipse/jdt/internal/corext/dom/fragments/IASTFragment;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment this
        start local 1 // org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment other
         0: .line 237
            aload 1 /* other */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 238
            iconst_0
            ireturn
         2: .line 240
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            checkcast org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment
            astore 2 /* otherOfKind */
        start local 2 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment otherOfKind
         3: .line 241
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.getOperator:()Lorg/eclipse/jdt/core/dom/InfixExpression$Operator;
            aload 2 /* otherOfKind */
            invokevirtual org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.getOperator:()Lorg/eclipse/jdt/core/dom/InfixExpression$Operator;
            if_acmpne 6
         4: .line 242
            aload 0 /* this */
            aload 2 /* otherOfKind */
            invokevirtual org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.doOperandsMatch:(Lorg/eclipse/jdt/internal/corext/dom/fragments/AssociativeInfixExpressionFragment;)Z
            ifeq 6
         5: .line 241
            iconst_1
            ireturn
      StackMap locals: org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment
      StackMap stack:
         6: iconst_0
            ireturn
        end local 2 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment otherOfKind
        end local 1 // org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment other
        end local 0 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0         this  Lorg/eclipse/jdt/internal/corext/dom/fragments/AssociativeInfixExpressionFragment;
            0    7     1        other  Lorg/eclipse/jdt/internal/corext/dom/fragments/IASTFragment;
            3    7     2  otherOfKind  Lorg/eclipse/jdt/internal/corext/dom/fragments/AssociativeInfixExpressionFragment;
    MethodParameters:
       Name  Flags
      other  

  private boolean doOperandsMatch(org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment);
    descriptor: (Lorg/eclipse/jdt/internal/corext/dom/fragments/AssociativeInfixExpressionFragment;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment this
        start local 1 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment other
         0: .line 246
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.getOperands:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            aload 1 /* other */
            invokevirtual org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.getOperands:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmpeq 2
         1: .line 247
            iconst_0
            ireturn
         2: .line 249
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.getOperands:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2 /* myOperands */
        start local 2 // java.util.Iterator myOperands
         3: .line 250
            aload 1 /* other */
            invokevirtual org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.getOperands:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3 /* othersOperands */
        start local 3 // java.util.Iterator othersOperands
         4: .line 252
            goto 9
         5: .line 253
      StackMap locals: java.util.Iterator java.util.Iterator
      StackMap stack:
            aload 2 /* myOperands */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.dom.Expression
            astore 4 /* myOperand */
        start local 4 // org.eclipse.jdt.core.dom.Expression myOperand
         6: .line 254
            aload 3 /* othersOperands */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.dom.Expression
            astore 5 /* othersOperand */
        start local 5 // org.eclipse.jdt.core.dom.Expression othersOperand
         7: .line 256
            aload 4 /* myOperand */
            aload 5 /* othersOperand */
            invokestatic org.eclipse.jdt.internal.corext.dom.JdtASTMatcher.doNodesMatch:(Lorg/eclipse/jdt/core/dom/ASTNode;Lorg/eclipse/jdt/core/dom/ASTNode;)Z
            ifne 9
         8: .line 257
            iconst_0
            ireturn
        end local 5 // org.eclipse.jdt.core.dom.Expression othersOperand
        end local 4 // org.eclipse.jdt.core.dom.Expression myOperand
         9: .line 252
      StackMap locals:
      StackMap stack:
            aload 2 /* myOperands */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 10
            aload 3 /* othersOperands */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        10: .line 260
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // java.util.Iterator othersOperands
        end local 2 // java.util.Iterator myOperands
        end local 1 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment other
        end local 0 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Lorg/eclipse/jdt/internal/corext/dom/fragments/AssociativeInfixExpressionFragment;
            0   11     1           other  Lorg/eclipse/jdt/internal/corext/dom/fragments/AssociativeInfixExpressionFragment;
            3   11     2      myOperands  Ljava/util/Iterator<Lorg/eclipse/jdt/core/dom/Expression;>;
            4   11     3  othersOperands  Ljava/util/Iterator<Lorg/eclipse/jdt/core/dom/Expression;>;
            6    9     4       myOperand  Lorg/eclipse/jdt/core/dom/Expression;
            7    9     5   othersOperand  Lorg/eclipse/jdt/core/dom/Expression;
    MethodParameters:
       Name  Flags
      other  

  public org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment[] getSubFragmentsMatching(org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment);
    descriptor: (Lorg/eclipse/jdt/internal/corext/dom/fragments/IASTFragment;)[Lorg/eclipse/jdt/internal/corext/dom/fragments/IASTFragment;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment this
        start local 1 // org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment toMatch
         0: .line 266
            aload 0 /* this */
            aload 1 /* toMatch */
            invokevirtual org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.getSubFragmentsWithMyNodeMatching:(Lorg/eclipse/jdt/internal/corext/dom/fragments/IASTFragment;)[Lorg/eclipse/jdt/internal/corext/dom/fragments/IASTFragment;
         1: .line 267
            aload 0 /* this */
            aload 1 /* toMatch */
            invokevirtual org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.getSubFragmentsWithAnotherNodeMatching:(Lorg/eclipse/jdt/internal/corext/dom/fragments/IASTFragment;)[Lorg/eclipse/jdt/internal/corext/dom/fragments/IASTFragment;
         2: .line 265
            invokestatic org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.union:([Lorg/eclipse/jdt/internal/corext/dom/fragments/IASTFragment;[Lorg/eclipse/jdt/internal/corext/dom/fragments/IASTFragment;)[Lorg/eclipse/jdt/internal/corext/dom/fragments/IASTFragment;
            areturn
        end local 1 // org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment toMatch
        end local 0 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/eclipse/jdt/internal/corext/dom/fragments/AssociativeInfixExpressionFragment;
            0    3     1  toMatch  Lorg/eclipse/jdt/internal/corext/dom/fragments/IASTFragment;
    MethodParameters:
         Name  Flags
      toMatch  

  private org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment[] getSubFragmentsWithMyNodeMatching(org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment);
    descriptor: (Lorg/eclipse/jdt/internal/corext/dom/fragments/IASTFragment;)[Lorg/eclipse/jdt/internal/corext/dom/fragments/IASTFragment;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment this
        start local 1 // org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment toMatch
         0: .line 272
            aload 1 /* toMatch */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            if_acmpeq 2
         1: .line 273
            iconst_0
            anewarray org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment
            areturn
         2: .line 275
      StackMap locals:
      StackMap stack:
            aload 1 /* toMatch */
            checkcast org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment
            astore 2 /* kinToMatch */
        start local 2 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment kinToMatch
         3: .line 276
            aload 2 /* kinToMatch */
            invokevirtual org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.getOperator:()Lorg/eclipse/jdt/core/dom/InfixExpression$Operator;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.getOperator:()Lorg/eclipse/jdt/core/dom/InfixExpression$Operator;
            if_acmpeq 5
         4: .line 277
            iconst_0
            anewarray org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment
            areturn
         5: .line 281
      StackMap locals: org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.getOperands:()Ljava/util/List;
         6: .line 282
            aload 2 /* kinToMatch */
            invokevirtual org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.getOperands:()Ljava/util/List;
         7: .line 280
            invokestatic org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.getMatchingContiguousNodeSubsequences:(Ljava/util/List;Ljava/util/List;)Ljava/util/List;
         8: .line 279
            astore 3 /* matchingSubsequences */
        start local 3 // java.util.List matchingSubsequences
         9: .line 285
            aload 3 /* matchingSubsequences */
            invokeinterface java.util.List.size:()I
            anewarray org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment
            astore 4 /* matches */
        start local 4 // org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment[] matches
        10: .line 286
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        11: goto 21
        12: .line 287
      StackMap locals: java.util.List org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment[] int
      StackMap stack:
            new org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment
            dup
        13: .line 288
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.fGroupRoot:Lorg/eclipse/jdt/core/dom/InfixExpression;
        14: .line 289
            aload 3 /* matchingSubsequences */
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.util.List
        15: .line 287
            invokespecial org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.<init>:(Lorg/eclipse/jdt/core/dom/InfixExpression;Ljava/util/List;)V
            astore 6 /* match */
        start local 6 // org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment match
        16: .line 291
            aload 6 /* match */
            aload 1 /* toMatch */
            invokeinterface org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment.matches:(Lorg/eclipse/jdt/internal/corext/dom/fragments/IASTFragment;)Z
            ifne 17
            aload 1 /* toMatch */
            aload 6 /* match */
            invokeinterface org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment.matches:(Lorg/eclipse/jdt/internal/corext/dom/fragments/IASTFragment;)Z
            ifne 17
            iconst_0
            goto 18
      StackMap locals: org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment
      StackMap stack:
        17: iconst_1
      StackMap locals:
      StackMap stack: int
        18: invokestatic org.eclipse.core.runtime.Assert.isTrue:(Z)Z
            pop
        19: .line 292
            aload 4 /* matches */
            iload 5 /* i */
            aload 6 /* match */
            aastore
        end local 6 // org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment match
        20: .line 286
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 5 /* i */
            aload 3 /* matchingSubsequences */
            invokeinterface java.util.List.size:()I
            if_icmplt 12
        end local 5 // int i
        22: .line 294
            aload 4 /* matches */
            areturn
        end local 4 // org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment[] matches
        end local 3 // java.util.List matchingSubsequences
        end local 2 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment kinToMatch
        end local 1 // org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment toMatch
        end local 0 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   23     0                  this  Lorg/eclipse/jdt/internal/corext/dom/fragments/AssociativeInfixExpressionFragment;
            0   23     1               toMatch  Lorg/eclipse/jdt/internal/corext/dom/fragments/IASTFragment;
            3   23     2            kinToMatch  Lorg/eclipse/jdt/internal/corext/dom/fragments/AssociativeInfixExpressionFragment;
            9   23     3  matchingSubsequences  Ljava/util/List<Ljava/util/List<Lorg/eclipse/jdt/core/dom/Expression;>;>;
           10   23     4               matches  [Lorg/eclipse/jdt/internal/corext/dom/fragments/IASTFragment;
           11   22     5                     i  I
           16   20     6                 match  Lorg/eclipse/jdt/internal/corext/dom/fragments/IASTFragment;
    MethodParameters:
         Name  Flags
      toMatch  

  private org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment[] getSubFragmentsWithAnotherNodeMatching(org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment);
    descriptor: (Lorg/eclipse/jdt/internal/corext/dom/fragments/IASTFragment;)[Lorg/eclipse/jdt/internal/corext/dom/fragments/IASTFragment;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment this
        start local 1 // org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment toMatch
         0: .line 298
            iconst_0
            anewarray org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment
            astore 2 /* result */
        start local 2 // org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment[] result
         1: .line 299
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.getOperands:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3 /* iter */
        start local 3 // java.util.Iterator iter
         2: goto 5
         3: .line 300
      StackMap locals: org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment[] java.util.Iterator
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.dom.ASTNode
            astore 4 /* operand */
        start local 4 // org.eclipse.jdt.core.dom.ASTNode operand
         4: .line 301
            aload 2 /* result */
            aload 4 /* operand */
            aload 1 /* toMatch */
            checkcast org.eclipse.jdt.internal.corext.dom.fragments.ASTFragment
            invokestatic org.eclipse.jdt.internal.corext.dom.fragments.ASTMatchingFragmentFinder.findMatchingFragments:(Lorg/eclipse/jdt/core/dom/ASTNode;Lorg/eclipse/jdt/internal/corext/dom/fragments/ASTFragment;)[Lorg/eclipse/jdt/internal/corext/dom/fragments/IASTFragment;
            invokestatic org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.union:([Lorg/eclipse/jdt/internal/corext/dom/fragments/IASTFragment;[Lorg/eclipse/jdt/internal/corext/dom/fragments/IASTFragment;)[Lorg/eclipse/jdt/internal/corext/dom/fragments/IASTFragment;
            astore 2 /* result */
        end local 4 // org.eclipse.jdt.core.dom.ASTNode operand
         5: .line 299
      StackMap locals:
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 3 // java.util.Iterator iter
         6: .line 303
            aload 2 /* result */
            areturn
        end local 2 // org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment[] result
        end local 1 // org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment toMatch
        end local 0 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lorg/eclipse/jdt/internal/corext/dom/fragments/AssociativeInfixExpressionFragment;
            0    7     1  toMatch  Lorg/eclipse/jdt/internal/corext/dom/fragments/IASTFragment;
            1    7     2   result  [Lorg/eclipse/jdt/internal/corext/dom/fragments/IASTFragment;
            2    6     3     iter  Ljava/util/Iterator<Lorg/eclipse/jdt/core/dom/Expression;>;
            4    5     4  operand  Lorg/eclipse/jdt/core/dom/ASTNode;
    MethodParameters:
         Name  Flags
      toMatch  

  private static org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment[] union(org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment[], org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment[]);
    descriptor: ([Lorg/eclipse/jdt/internal/corext/dom/fragments/IASTFragment;[Lorg/eclipse/jdt/internal/corext/dom/fragments/IASTFragment;)[Lorg/eclipse/jdt/internal/corext/dom/fragments/IASTFragment;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment[] a1
        start local 1 // org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment[] a2
         0: .line 306
            aload 0 /* a1 */
            arraylength
            aload 1 /* a2 */
            arraylength
            iadd
            anewarray org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment
            astore 2 /* union */
        start local 2 // org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment[] union
         1: .line 307
            aload 0 /* a1 */
            iconst_0
            aload 2 /* union */
            iconst_0
            aload 0 /* a1 */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 308
            aload 1 /* a2 */
            iconst_0
            aload 2 /* union */
            aload 0 /* a1 */
            arraylength
            aload 1 /* a2 */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 309
            aload 2 /* union */
            areturn
        end local 2 // org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment[] union
        end local 1 // org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment[] a2
        end local 0 // org.eclipse.jdt.internal.corext.dom.fragments.IASTFragment[] a1
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0     a1  [Lorg/eclipse/jdt/internal/corext/dom/fragments/IASTFragment;
            0    4     1     a2  [Lorg/eclipse/jdt/internal/corext/dom/fragments/IASTFragment;
            1    4     2  union  [Lorg/eclipse/jdt/internal/corext/dom/fragments/IASTFragment;
    MethodParameters:
      Name  Flags
      a1    
      a2    

  public org.eclipse.jdt.core.dom.Expression getAssociatedExpression();
    descriptor: ()Lorg/eclipse/jdt/core/dom/Expression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment this
         0: .line 332
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.fGroupRoot:Lorg/eclipse/jdt/core/dom/InfixExpression;
            areturn
        end local 0 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/corext/dom/fragments/AssociativeInfixExpressionFragment;

  public org.eclipse.jdt.core.dom.ASTNode getAssociatedNode();
    descriptor: ()Lorg/eclipse/jdt/core/dom/ASTNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment this
         0: .line 343
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.fGroupRoot:Lorg/eclipse/jdt/core/dom/InfixExpression;
            areturn
        end local 0 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/corext/dom/fragments/AssociativeInfixExpressionFragment;

  public org.eclipse.jdt.core.dom.InfixExpression getGroupRoot();
    descriptor: ()Lorg/eclipse/jdt/core/dom/InfixExpression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment this
         0: .line 347
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.fGroupRoot:Lorg/eclipse/jdt/core/dom/InfixExpression;
            areturn
        end local 0 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/corext/dom/fragments/AssociativeInfixExpressionFragment;

  public int getLength();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment this
         0: .line 352
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.getEndPositionExclusive:()I
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.getStartPosition:()I
            isub
            ireturn
        end local 0 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/corext/dom/fragments/AssociativeInfixExpressionFragment;

  private int getEndPositionExclusive();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment this
         0: .line 356
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.getOperands:()Ljava/util/List;
            astore 1 /* operands */
        start local 1 // java.util.List operands
         1: .line 357
            aload 1 /* operands */
            aload 1 /* operands */
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.dom.ASTNode
            astore 2 /* lastNode */
        start local 2 // org.eclipse.jdt.core.dom.ASTNode lastNode
         2: .line 358
            aload 2 /* lastNode */
            invokevirtual org.eclipse.jdt.core.dom.ASTNode.getStartPosition:()I
            aload 2 /* lastNode */
            invokevirtual org.eclipse.jdt.core.dom.ASTNode.getLength:()I
            iadd
            ireturn
        end local 2 // org.eclipse.jdt.core.dom.ASTNode lastNode
        end local 1 // java.util.List operands
        end local 0 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/eclipse/jdt/internal/corext/dom/fragments/AssociativeInfixExpressionFragment;
            1    3     1  operands  Ljava/util/List<Lorg/eclipse/jdt/core/dom/Expression;>;
            2    3     2  lastNode  Lorg/eclipse/jdt/core/dom/ASTNode;

  public int getStartPosition();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment this
         0: .line 363
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.getOperands:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.dom.Expression
            invokevirtual org.eclipse.jdt.core.dom.Expression.getStartPosition:()I
            ireturn
        end local 0 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/corext/dom/fragments/AssociativeInfixExpressionFragment;

  public java.util.List<org.eclipse.jdt.core.dom.Expression> getOperands();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment this
         0: .line 367
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.fOperands:Ljava/util/List;
            areturn
        end local 0 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/corext/dom/fragments/AssociativeInfixExpressionFragment;
    Signature: ()Ljava/util/List<Lorg/eclipse/jdt/core/dom/Expression;>;

  public org.eclipse.jdt.core.dom.InfixExpression$Operator getOperator();
    descriptor: ()Lorg/eclipse/jdt/core/dom/InfixExpression$Operator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment this
         0: .line 371
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.fGroupRoot:Lorg/eclipse/jdt/core/dom/InfixExpression;
            invokevirtual org.eclipse.jdt.core.dom.InfixExpression.getOperator:()Lorg/eclipse/jdt/core/dom/InfixExpression$Operator;
            areturn
        end local 0 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/corext/dom/fragments/AssociativeInfixExpressionFragment;

  public org.eclipse.jdt.core.dom.Expression createCopyTarget(org.eclipse.jdt.core.dom.rewrite.ASTRewrite, boolean);
    descriptor: (Lorg/eclipse/jdt/core/dom/rewrite/ASTRewrite;Z)Lorg/eclipse/jdt/core/dom/Expression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment this
        start local 1 // org.eclipse.jdt.core.dom.rewrite.ASTRewrite rewrite
        start local 2 // boolean removeSurroundingParenthesis
         0: .line 376
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.fGroupRoot:Lorg/eclipse/jdt/core/dom/InfixExpression;
            invokestatic org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.findGroupMembersInOrderFor:(Lorg/eclipse/jdt/core/dom/InfixExpression;)Ljava/util/ArrayList;
            astore 3 /* allOperands */
        start local 3 // java.util.List allOperands
         1: .line 377
            aload 3 /* allOperands */
            invokeinterface java.util.List.size:()I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.fOperands:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmpne 3
         2: .line 378
            aload 1 /* rewrite */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.fGroupRoot:Lorg/eclipse/jdt/core/dom/InfixExpression;
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ASTRewrite.createCopyTarget:(Lorg/eclipse/jdt/core/dom/ASTNode;)Lorg/eclipse/jdt/core/dom/ASTNode;
            checkcast org.eclipse.jdt.core.dom.Expression
            areturn
         3: .line 381
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.fGroupRoot:Lorg/eclipse/jdt/core/dom/InfixExpression;
            invokevirtual org.eclipse.jdt.core.dom.InfixExpression.getRoot:()Lorg/eclipse/jdt/core/dom/ASTNode;
            checkcast org.eclipse.jdt.core.dom.CompilationUnit
            astore 4 /* root */
        start local 4 // org.eclipse.jdt.core.dom.CompilationUnit root
         4: .line 382
            aload 4 /* root */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.getJavaElement:()Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.core.ICompilationUnit
            astore 5 /* cu */
        start local 5 // org.eclipse.jdt.core.ICompilationUnit cu
         5: .line 383
            aload 5 /* cu */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getBuffer:()Lorg/eclipse/jdt/core/IBuffer;
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.getStartPosition:()I
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.getLength:()I
            invokeinterface org.eclipse.jdt.core.IBuffer.getText:(II)Ljava/lang/String;
            astore 6 /* source */
        start local 6 // java.lang.String source
         6: .line 384
            aload 1 /* rewrite */
            aload 6 /* source */
            bipush 27
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ASTRewrite.createStringPlaceholder:(Ljava/lang/String;I)Lorg/eclipse/jdt/core/dom/ASTNode;
            checkcast org.eclipse.jdt.core.dom.Expression
            areturn
        end local 6 // java.lang.String source
        end local 5 // org.eclipse.jdt.core.ICompilationUnit cu
        end local 4 // org.eclipse.jdt.core.dom.CompilationUnit root
        end local 3 // java.util.List allOperands
        end local 2 // boolean removeSurroundingParenthesis
        end local 1 // org.eclipse.jdt.core.dom.rewrite.ASTRewrite rewrite
        end local 0 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment this
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0    7     0                          this  Lorg/eclipse/jdt/internal/corext/dom/fragments/AssociativeInfixExpressionFragment;
            0    7     1                       rewrite  Lorg/eclipse/jdt/core/dom/rewrite/ASTRewrite;
            0    7     2  removeSurroundingParenthesis  Z
            1    7     3                   allOperands  Ljava/util/List<Lorg/eclipse/jdt/core/dom/Expression;>;
            4    7     4                          root  Lorg/eclipse/jdt/core/dom/CompilationUnit;
            5    7     5                            cu  Lorg/eclipse/jdt/core/ICompilationUnit;
            6    7     6                        source  Ljava/lang/String;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                              Name  Flags
      rewrite                       
      removeSurroundingParenthesis  

  public void replace(org.eclipse.jdt.core.dom.rewrite.ASTRewrite, org.eclipse.jdt.core.dom.ASTNode, org.eclipse.text.edits.TextEditGroup);
    descriptor: (Lorg/eclipse/jdt/core/dom/rewrite/ASTRewrite;Lorg/eclipse/jdt/core/dom/ASTNode;Lorg/eclipse/text/edits/TextEditGroup;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=4
        start local 0 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment this
        start local 1 // org.eclipse.jdt.core.dom.rewrite.ASTRewrite rewrite
        start local 2 // org.eclipse.jdt.core.dom.ASTNode replacement
        start local 3 // org.eclipse.text.edits.TextEditGroup textEditGroup
         0: .line 403
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.getGroupRoot:()Lorg/eclipse/jdt/core/dom/InfixExpression;
            astore 4 /* groupNode */
        start local 4 // org.eclipse.jdt.core.dom.ASTNode groupNode
         1: .line 405
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.getGroupRoot:()Lorg/eclipse/jdt/core/dom/InfixExpression;
            invokestatic org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.findGroupMembersInOrderFor:(Lorg/eclipse/jdt/core/dom/InfixExpression;)Ljava/util/ArrayList;
            astore 5 /* allOperands */
        start local 5 // java.util.List allOperands
         2: .line 406
            aload 5 /* allOperands */
            invokeinterface java.util.List.size:()I
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.fOperands:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmpne 8
         3: .line 407
            aload 2 /* replacement */
            instanceof org.eclipse.jdt.core.dom.Name
            ifeq 6
            aload 4 /* groupNode */
            invokevirtual org.eclipse.jdt.core.dom.ASTNode.getParent:()Lorg/eclipse/jdt/core/dom/ASTNode;
            instanceof org.eclipse.jdt.core.dom.ParenthesizedExpression
            ifeq 6
         4: .line 409
            aload 1 /* rewrite */
            aload 4 /* groupNode */
            invokevirtual org.eclipse.jdt.core.dom.ASTNode.getParent:()Lorg/eclipse/jdt/core/dom/ASTNode;
            aload 2 /* replacement */
            aload 3 /* textEditGroup */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ASTRewrite.replace:(Lorg/eclipse/jdt/core/dom/ASTNode;Lorg/eclipse/jdt/core/dom/ASTNode;Lorg/eclipse/text/edits/TextEditGroup;)V
         5: .line 410
            goto 7
         6: .line 411
      StackMap locals: org.eclipse.jdt.core.dom.ASTNode java.util.List
      StackMap stack:
            aload 1 /* rewrite */
            aload 4 /* groupNode */
            aload 2 /* replacement */
            aload 3 /* textEditGroup */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ASTRewrite.replace:(Lorg/eclipse/jdt/core/dom/ASTNode;Lorg/eclipse/jdt/core/dom/ASTNode;Lorg/eclipse/text/edits/TextEditGroup;)V
         7: .line 413
      StackMap locals:
      StackMap stack:
            return
         8: .line 416
      StackMap locals:
      StackMap stack:
            aload 1 /* rewrite */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.fOperands:Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.dom.ASTNode
            aload 2 /* replacement */
            aload 3 /* textEditGroup */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ASTRewrite.replace:(Lorg/eclipse/jdt/core/dom/ASTNode;Lorg/eclipse/jdt/core/dom/ASTNode;Lorg/eclipse/text/edits/TextEditGroup;)V
         9: .line 417
            aload 5 /* allOperands */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.fOperands:Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            istore 6 /* first */
        start local 6 // int first
        10: .line 418
            iload 6 /* first */
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.fOperands:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iadd
            istore 7 /* after */
        start local 7 // int after
        11: .line 419
            iload 6 /* first */
            iconst_1
            iadd
            istore 8 /* i */
        start local 8 // int i
        12: goto 15
        13: .line 420
      StackMap locals: int int int
      StackMap stack:
            aload 1 /* rewrite */
            aload 5 /* allOperands */
            iload 8 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.dom.ASTNode
            aload 3 /* textEditGroup */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ASTRewrite.remove:(Lorg/eclipse/jdt/core/dom/ASTNode;Lorg/eclipse/text/edits/TextEditGroup;)V
        14: .line 419
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 8 /* i */
            iload 7 /* after */
            if_icmplt 13
        end local 8 // int i
        16: .line 422
            return
        end local 7 // int after
        end local 6 // int first
        end local 5 // java.util.List allOperands
        end local 4 // org.eclipse.jdt.core.dom.ASTNode groupNode
        end local 3 // org.eclipse.text.edits.TextEditGroup textEditGroup
        end local 2 // org.eclipse.jdt.core.dom.ASTNode replacement
        end local 1 // org.eclipse.jdt.core.dom.rewrite.ASTRewrite rewrite
        end local 0 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   17     0           this  Lorg/eclipse/jdt/internal/corext/dom/fragments/AssociativeInfixExpressionFragment;
            0   17     1        rewrite  Lorg/eclipse/jdt/core/dom/rewrite/ASTRewrite;
            0   17     2    replacement  Lorg/eclipse/jdt/core/dom/ASTNode;
            0   17     3  textEditGroup  Lorg/eclipse/text/edits/TextEditGroup;
            1   17     4      groupNode  Lorg/eclipse/jdt/core/dom/ASTNode;
            2   17     5    allOperands  Ljava/util/List<Lorg/eclipse/jdt/core/dom/Expression;>;
           10   17     6          first  I
           11   17     7          after  I
           12   16     8              i  I
    MethodParameters:
               Name  Flags
      rewrite        
      replacement    
      textEditGroup  

  private static java.util.ArrayList<org.eclipse.jdt.core.dom.Expression> findGroupMembersInOrderFor(org.eclipse.jdt.core.dom.InfixExpression);
    descriptor: (Lorg/eclipse/jdt/core/dom/InfixExpression;)Ljava/util/ArrayList;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.InfixExpression groupRoot
         0: .line 425
            new org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment$GroupMemberFinder
            dup
            aload 0 /* groupRoot */
            invokespecial org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment$GroupMemberFinder.<init>:(Lorg/eclipse/jdt/core/dom/InfixExpression;)V
            getfield org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment$GroupMemberFinder.fMembersInOrder:Ljava/util/ArrayList;
            areturn
        end local 0 // org.eclipse.jdt.core.dom.InfixExpression groupRoot
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  groupRoot  Lorg/eclipse/jdt/core/dom/InfixExpression;
    Signature: (Lorg/eclipse/jdt/core/dom/InfixExpression;)Ljava/util/ArrayList<Lorg/eclipse/jdt/core/dom/Expression;>;
    MethodParameters:
           Name  Flags
      groupRoot  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment this
         0: .line 450
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.fGroupRoot:Lorg/eclipse/jdt/core/dom/InfixExpression;
            invokevirtual org.eclipse.jdt.core.dom.InfixExpression.hashCode:()I
            ireturn
        end local 0 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/corext/dom/fragments/AssociativeInfixExpressionFragment;

  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.corext.dom.fragments.AssociativeInfixExpressionFragment this
        start local 1 // java.lang.Object obj
         0: .line 455
            aload 0 /* this */
            aload 1 /* obj */
            if_acmpne 2
         1: .line 456
            iconst_1
            ireturn
         2: .line 457
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            ifnonnull 4
         3: .line 458
            iconst_0
            ireturn
         4: .line 459
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 1 /* obj */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            if_acmpeq 6
         5: .line 460
            iconst_0
            ireturn
         6: .line 461
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            checkcast org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment
            astore 2 /* other */
        start local 2 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment other
         7: .line 462
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.fGroupRoot:Lorg/eclipse/jdt/core/dom/InfixExpression;
            aload 2 /* other */
            getfield org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.fGroupRoot:Lorg/eclipse/jdt/core/dom/InfixExpression;
            invokevirtual org.eclipse.jdt.core.dom.InfixExpression.equals:(Ljava/lang/Object;)Z
            ifeq 8
            aload 0 /* this */
            getfield org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.fOperands:Ljava/util/List;
            aload 2 /* other */
            getfield org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment.fOperands:Ljava/util/List;
            invokeinterface java.util.List.equals:(Ljava/lang/Object;)Z
            ifeq 8
            iconst_1
            ireturn
      StackMap locals: org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment
      StackMap stack:
         8: iconst_0
            ireturn
        end local 2 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment other
        end local 1 // java.lang.Object obj
        end local 0 // org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lorg/eclipse/jdt/internal/corext/dom/fragments/AssociativeInfixExpressionFragment;
            0    9     1    obj  Ljava/lang/Object;
            7    9     2  other  Lorg/eclipse/jdt/internal/corext/dom/fragments/AssociativeInfixExpressionFragment;
    MethodParameters:
      Name  Flags
      obj   
}
SourceFile: "AssociativeInfixExpressionFragment.java"
NestMembers:
  org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment$GroupMemberFinder
InnerClasses:
  public Operator = org.eclipse.jdt.core.dom.InfixExpression$Operator of org.eclipse.jdt.core.dom.InfixExpression
  private GroupMemberFinder = org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment$GroupMemberFinder of org.eclipse.jdt.internal.corext.dom.fragments.AssociativeInfixExpressionFragment