public class org.eclipse.jface.text.GapTextStore implements org.eclipse.jface.text.ITextStore
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jface.text.GapTextStore
  super_class: java.lang.Object
{
  private final int fMinGapSize;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int fMaxGapSize;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final float fSizeMultiplier;
    descriptor: F
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private char[] fContent;
    descriptor: [C
    flags: (0x0002) ACC_PRIVATE

  private int fGapStart;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int fGapEnd;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int fThreshold;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  public void <init>(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.eclipse.jface.text.GapTextStore this
        start local 1 // int lowWatermark
        start local 2 // int highWatermark
         0: .line 98
            aload 0 /* this */
            iload 2 /* highWatermark */
            iconst_2
            idiv
            iload 2 /* highWatermark */
            iconst_2
            idiv
            fconst_0
            invokespecial org.eclipse.jface.text.GapTextStore.<init>:(IIF)V
         1: .line 99
            return
        end local 2 // int highWatermark
        end local 1 // int lowWatermark
        end local 0 // org.eclipse.jface.text.GapTextStore this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/eclipse/jface/text/GapTextStore;
            0    2     1   lowWatermark  I
            0    2     2  highWatermark  I
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
               Name  Flags
      lowWatermark   
      highWatermark  

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.eclipse.jface.text.GapTextStore this
         0: .line 108
            aload 0 /* this */
            sipush 256
            sipush 4096
            ldc 0.1
            invokespecial org.eclipse.jface.text.GapTextStore.<init>:(IIF)V
         1: .line 109
            return
        end local 0 // org.eclipse.jface.text.GapTextStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jface/text/GapTextStore;

  public void <init>(int, int, float);
    descriptor: (IIF)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.eclipse.jface.text.GapTextStore this
        start local 1 // int minSize
        start local 2 // int maxSize
        start local 3 // float maxGapFactor
         0: .line 136
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 62
            aload 0 /* this */
            iconst_0
            newarray 5
            putfield org.eclipse.jface.text.GapTextStore.fContent:[C
         2: .line 64
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jface.text.GapTextStore.fGapStart:I
         3: .line 66
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jface.text.GapTextStore.fGapEnd:I
         4: .line 72
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jface.text.GapTextStore.fThreshold:I
         5: .line 137
            fconst_0
            fload 3 /* maxGapFactor */
            fcmpg
            ifgt 6
            fload 3 /* maxGapFactor */
            fconst_1
            fcmpg
            ifgt 6
            iconst_1
            goto 7
      StackMap locals: org.eclipse.jface.text.GapTextStore int int float
      StackMap stack:
         6: iconst_0
      StackMap locals:
      StackMap stack: int
         7: invokestatic org.eclipse.core.runtime.Assert.isLegal:(Z)Z
            pop
         8: .line 138
            iload 1 /* minSize */
            iflt 9
            iload 1 /* minSize */
            iload 2 /* maxSize */
            if_icmpgt 9
            iconst_1
            goto 10
      StackMap locals:
      StackMap stack:
         9: iconst_0
      StackMap locals:
      StackMap stack: int
        10: invokestatic org.eclipse.core.runtime.Assert.isLegal:(Z)Z
            pop
        11: .line 139
            aload 0 /* this */
            iload 1 /* minSize */
            putfield org.eclipse.jface.text.GapTextStore.fMinGapSize:I
        12: .line 140
            aload 0 /* this */
            iload 2 /* maxSize */
            putfield org.eclipse.jface.text.GapTextStore.fMaxGapSize:I
        13: .line 141
            aload 0 /* this */
            fconst_1
            fconst_1
            fload 3 /* maxGapFactor */
            fconst_2
            fdiv
            fsub
            fdiv
            putfield org.eclipse.jface.text.GapTextStore.fSizeMultiplier:F
        14: .line 142
            return
        end local 3 // float maxGapFactor
        end local 2 // int maxSize
        end local 1 // int minSize
        end local 0 // org.eclipse.jface.text.GapTextStore this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   15     0          this  Lorg/eclipse/jface/text/GapTextStore;
            0   15     1       minSize  I
            0   15     2       maxSize  I
            0   15     3  maxGapFactor  F
    MethodParameters:
              Name  Flags
      minSize       
      maxSize       
      maxGapFactor  

  public final char get(int);
    descriptor: (I)C
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jface.text.GapTextStore this
        start local 1 // int offset
         0: .line 146
            iload 1 /* offset */
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fGapStart:I
            if_icmpge 2
         1: .line 147
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fContent:[C
            iload 1 /* offset */
            caload
            ireturn
         2: .line 149
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fContent:[C
            iload 1 /* offset */
            aload 0 /* this */
            invokevirtual org.eclipse.jface.text.GapTextStore.gapSize:()I
            iadd
            caload
            ireturn
        end local 1 // int offset
        end local 0 // org.eclipse.jface.text.GapTextStore this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/eclipse/jface/text/GapTextStore;
            0    3     1  offset  I
    MethodParameters:
        Name  Flags
      offset  

  public final java.lang.String get(int, int);
    descriptor: (II)Ljava/lang/String;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.eclipse.jface.text.GapTextStore this
        start local 1 // int offset
        start local 2 // int length
         0: .line 154
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fGapStart:I
            iload 1 /* offset */
            if_icmpgt 2
         1: .line 155
            new java.lang.String
            dup
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fContent:[C
            iload 1 /* offset */
            aload 0 /* this */
            invokevirtual org.eclipse.jface.text.GapTextStore.gapSize:()I
            iadd
            iload 2 /* length */
            invokespecial java.lang.String.<init>:([CII)V
            areturn
         2: .line 157
      StackMap locals:
      StackMap stack:
            iload 1 /* offset */
            iload 2 /* length */
            iadd
            istore 3 /* end */
        start local 3 // int end
         3: .line 159
            iload 3 /* end */
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fGapStart:I
            if_icmpgt 5
         4: .line 160
            new java.lang.String
            dup
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fContent:[C
            iload 1 /* offset */
            iload 2 /* length */
            invokespecial java.lang.String.<init>:([CII)V
            areturn
         5: .line 162
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            iload 2 /* length */
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 4 /* buf */
        start local 4 // java.lang.StringBuilder buf
         6: .line 163
            aload 4 /* buf */
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fContent:[C
            iload 1 /* offset */
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fGapStart:I
            iload 1 /* offset */
            isub
            invokevirtual java.lang.StringBuilder.append:([CII)Ljava/lang/StringBuilder;
            pop
         7: .line 164
            aload 4 /* buf */
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fContent:[C
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fGapEnd:I
            iload 3 /* end */
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fGapStart:I
            isub
            invokevirtual java.lang.StringBuilder.append:([CII)Ljava/lang/StringBuilder;
            pop
         8: .line 165
            aload 4 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // java.lang.StringBuilder buf
        end local 3 // int end
        end local 2 // int length
        end local 1 // int offset
        end local 0 // org.eclipse.jface.text.GapTextStore this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lorg/eclipse/jface/text/GapTextStore;
            0    9     1  offset  I
            0    9     2  length  I
            3    9     3     end  I
            6    9     4     buf  Ljava/lang/StringBuilder;
    MethodParameters:
        Name  Flags
      offset  
      length  

  public final int getLength();
    descriptor: ()I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jface.text.GapTextStore this
         0: .line 170
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fContent:[C
            arraylength
            aload 0 /* this */
            invokevirtual org.eclipse.jface.text.GapTextStore.gapSize:()I
            isub
            ireturn
        end local 0 // org.eclipse.jface.text.GapTextStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jface/text/GapTextStore;

  public final void set(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.jface.text.GapTextStore this
        start local 1 // java.lang.String text
         0: .line 181
            aload 0 /* this */
            iconst_0
            aload 0 /* this */
            invokevirtual org.eclipse.jface.text.GapTextStore.getLength:()I
            aload 1 /* text */
            invokevirtual org.eclipse.jface.text.GapTextStore.replace:(IILjava/lang/String;)V
         1: .line 182
            return
        end local 1 // java.lang.String text
        end local 0 // org.eclipse.jface.text.GapTextStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/eclipse/jface/text/GapTextStore;
            0    2     1  text  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      text  

  public final void replace(int, int, java.lang.String);
    descriptor: (IILjava/lang/String;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // org.eclipse.jface.text.GapTextStore this
        start local 1 // int offset
        start local 2 // int length
        start local 3 // java.lang.String text
         0: .line 186
            aload 3 /* text */
            ifnonnull 3
         1: .line 187
            aload 0 /* this */
            iload 1 /* offset */
            iload 2 /* length */
            iconst_0
            invokevirtual org.eclipse.jface.text.GapTextStore.adjustGap:(III)V
         2: .line 188
            goto 7
         3: .line 189
      StackMap locals:
      StackMap stack:
            aload 3 /* text */
            invokevirtual java.lang.String.length:()I
            istore 4 /* textLength */
        start local 4 // int textLength
         4: .line 190
            aload 0 /* this */
            iload 1 /* offset */
            iload 2 /* length */
            iload 4 /* textLength */
            invokevirtual org.eclipse.jface.text.GapTextStore.adjustGap:(III)V
         5: .line 191
            iload 4 /* textLength */
            ifeq 7
         6: .line 192
            aload 3 /* text */
            iconst_0
            iload 4 /* textLength */
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fContent:[C
            iload 1 /* offset */
            invokevirtual java.lang.String.getChars:(II[CI)V
        end local 4 // int textLength
         7: .line 194
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String text
        end local 2 // int length
        end local 1 // int offset
        end local 0 // org.eclipse.jface.text.GapTextStore this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lorg/eclipse/jface/text/GapTextStore;
            0    8     1      offset  I
            0    8     2      length  I
            0    8     3        text  Ljava/lang/String;
            4    7     4  textLength  I
    MethodParameters:
        Name  Flags
      offset  
      length  
      text    

  private void adjustGap(int, int, int);
    descriptor: (III)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=4
        start local 0 // org.eclipse.jface.text.GapTextStore this
        start local 1 // int offset
        start local 2 // int remove
        start local 3 // int add
         0: .line 207
            aload 0 /* this */
            invokevirtual org.eclipse.jface.text.GapTextStore.gapSize:()I
            istore 4 /* oldGapSize */
        start local 4 // int oldGapSize
         1: .line 208
            iload 4 /* oldGapSize */
            iload 3 /* add */
            isub
            iload 2 /* remove */
            iadd
            istore 5 /* newGapSize */
        start local 5 // int newGapSize
         2: .line 209
            iload 5 /* newGapSize */
            iflt 3
            iload 5 /* newGapSize */
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fThreshold:I
            if_icmpgt 3
            iconst_1
            goto 4
      StackMap locals: int int
      StackMap stack:
         3: iconst_0
      StackMap locals:
      StackMap stack: int
         4: istore 6 /* reuseArray */
        start local 6 // boolean reuseArray
         5: .line 211
            iload 1 /* offset */
            iload 3 /* add */
            iadd
            istore 7 /* newGapStart */
        start local 7 // int newGapStart
         6: .line 214
            iload 6 /* reuseArray */
            ifeq 9
         7: .line 215
            aload 0 /* this */
            iload 1 /* offset */
            iload 2 /* remove */
            iload 4 /* oldGapSize */
            iload 5 /* newGapSize */
            iload 7 /* newGapStart */
            invokevirtual org.eclipse.jface.text.GapTextStore.moveGap:(IIIII)I
            istore 8 /* newGapEnd */
        start local 8 // int newGapEnd
         8: goto 10
        end local 8 // int newGapEnd
         9: .line 217
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 1 /* offset */
            iload 2 /* remove */
            iload 4 /* oldGapSize */
            iload 5 /* newGapSize */
            iload 7 /* newGapStart */
            invokevirtual org.eclipse.jface.text.GapTextStore.reallocate:(IIIII)I
            istore 8 /* newGapEnd */
        start local 8 // int newGapEnd
        10: .line 219
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 7 /* newGapStart */
            putfield org.eclipse.jface.text.GapTextStore.fGapStart:I
        11: .line 220
            aload 0 /* this */
            iload 8 /* newGapEnd */
            putfield org.eclipse.jface.text.GapTextStore.fGapEnd:I
        12: .line 221
            return
        end local 8 // int newGapEnd
        end local 7 // int newGapStart
        end local 6 // boolean reuseArray
        end local 5 // int newGapSize
        end local 4 // int oldGapSize
        end local 3 // int add
        end local 2 // int remove
        end local 1 // int offset
        end local 0 // org.eclipse.jface.text.GapTextStore this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0         this  Lorg/eclipse/jface/text/GapTextStore;
            0   13     1       offset  I
            0   13     2       remove  I
            0   13     3          add  I
            1   13     4   oldGapSize  I
            2   13     5   newGapSize  I
            5   13     6   reuseArray  Z
            6   13     7  newGapStart  I
            8    9     8    newGapEnd  I
           10   13     8    newGapEnd  I
    MethodParameters:
        Name  Flags
      offset  
      remove  
      add     

  private int moveGap(int, int, int, int, int);
    descriptor: (IIIII)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=6
        start local 0 // org.eclipse.jface.text.GapTextStore this
        start local 1 // int offset
        start local 2 // int remove
        start local 3 // int oldGapSize
        start local 4 // int newGapSize
        start local 5 // int newGapStart
         0: .line 239
            iload 5 /* newGapStart */
            iload 4 /* newGapSize */
            iadd
            istore 6 /* newGapEnd */
        start local 6 // int newGapEnd
         1: .line 240
            iload 1 /* offset */
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fGapStart:I
            if_icmpge 7
         2: .line 241
            iload 1 /* offset */
            iload 2 /* remove */
            iadd
            istore 7 /* afterRemove */
        start local 7 // int afterRemove
         3: .line 242
            iload 7 /* afterRemove */
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fGapStart:I
            if_icmpge 10
         4: .line 243
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fGapStart:I
            iload 7 /* afterRemove */
            isub
            istore 8 /* betweenSize */
        start local 8 // int betweenSize
         5: .line 244
            aload 0 /* this */
            iload 7 /* afterRemove */
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fContent:[C
            iload 6 /* newGapEnd */
            iload 8 /* betweenSize */
            invokevirtual org.eclipse.jface.text.GapTextStore.arrayCopy:(I[CII)V
        end local 8 // int betweenSize
        end local 7 // int afterRemove
         6: .line 247
            goto 10
         7: .line 248
      StackMap locals: int
      StackMap stack:
            iload 1 /* offset */
            iload 3 /* oldGapSize */
            iadd
            istore 7 /* offsetShifted */
        start local 7 // int offsetShifted
         8: .line 249
            iload 7 /* offsetShifted */
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fGapEnd:I
            isub
            istore 8 /* betweenSize */
        start local 8 // int betweenSize
         9: .line 250
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fGapEnd:I
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fContent:[C
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fGapStart:I
            iload 8 /* betweenSize */
            invokevirtual org.eclipse.jface.text.GapTextStore.arrayCopy:(I[CII)V
        end local 8 // int betweenSize
        end local 7 // int offsetShifted
        10: .line 252
      StackMap locals:
      StackMap stack:
            iload 6 /* newGapEnd */
            ireturn
        end local 6 // int newGapEnd
        end local 5 // int newGapStart
        end local 4 // int newGapSize
        end local 3 // int oldGapSize
        end local 2 // int remove
        end local 1 // int offset
        end local 0 // org.eclipse.jface.text.GapTextStore this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Lorg/eclipse/jface/text/GapTextStore;
            0   11     1         offset  I
            0   11     2         remove  I
            0   11     3     oldGapSize  I
            0   11     4     newGapSize  I
            0   11     5    newGapStart  I
            1   11     6      newGapEnd  I
            3    6     7    afterRemove  I
            5    6     8    betweenSize  I
            8   10     7  offsetShifted  I
            9   10     8    betweenSize  I
    MethodParameters:
             Name  Flags
      offset       
      remove       
      oldGapSize   
      newGapSize   
      newGapStart  

  private int reallocate(int, int, int, int, int);
    descriptor: (IIIII)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=14, args_size=6
        start local 0 // org.eclipse.jface.text.GapTextStore this
        start local 1 // int offset
        start local 2 // int remove
        start local 3 // int oldGapSize
        start local 4 // int newGapSize
        start local 5 // int newGapStart
         0: .line 268
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fContent:[C
            arraylength
            iload 4 /* newGapSize */
            isub
            istore 6 /* newLength */
        start local 6 // int newLength
         1: .line 270
            iload 6 /* newLength */
            i2f
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fSizeMultiplier:F
            fmul
            f2i
            istore 7 /* newArraySize */
        start local 7 // int newArraySize
         2: .line 271
            iload 7 /* newArraySize */
            iload 6 /* newLength */
            isub
            istore 4 /* newGapSize */
         3: .line 274
            iload 4 /* newGapSize */
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fMinGapSize:I
            if_icmpge 7
         4: .line 275
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fMinGapSize:I
            istore 4 /* newGapSize */
         5: .line 276
            iload 6 /* newLength */
            iload 4 /* newGapSize */
            iadd
            istore 7 /* newArraySize */
         6: .line 277
            goto 10
      StackMap locals: int int
      StackMap stack:
         7: iload 4 /* newGapSize */
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fMaxGapSize:I
            if_icmple 10
         8: .line 278
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fMaxGapSize:I
            istore 4 /* newGapSize */
         9: .line 279
            iload 6 /* newLength */
            iload 4 /* newGapSize */
            iadd
            istore 7 /* newArraySize */
        10: .line 283
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* newGapSize */
            iconst_2
            imul
            putfield org.eclipse.jface.text.GapTextStore.fThreshold:I
        11: .line 284
            aload 0 /* this */
            iload 7 /* newArraySize */
            invokevirtual org.eclipse.jface.text.GapTextStore.allocate:(I)[C
            astore 8 /* newContent */
        start local 8 // char[] newContent
        12: .line 285
            iload 5 /* newGapStart */
            iload 4 /* newGapSize */
            iadd
            istore 9 /* newGapEnd */
        start local 9 // int newGapEnd
        13: .line 294
            iload 1 /* offset */
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fGapStart:I
            if_icmpge 26
        14: .line 296
            aload 0 /* this */
            iconst_0
            aload 8 /* newContent */
            iconst_0
            iload 1 /* offset */
            invokevirtual org.eclipse.jface.text.GapTextStore.arrayCopy:(I[CII)V
        15: .line 297
            iload 1 /* offset */
            iload 2 /* remove */
            iadd
            istore 10 /* afterRemove */
        start local 10 // int afterRemove
        16: .line 298
            iload 10 /* afterRemove */
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fGapStart:I
            if_icmpge 22
        17: .line 300
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fGapStart:I
            iload 10 /* afterRemove */
            isub
            istore 11 /* betweenSize */
        start local 11 // int betweenSize
        18: .line 301
            aload 0 /* this */
            iload 10 /* afterRemove */
            aload 8 /* newContent */
            iload 9 /* newGapEnd */
            iload 11 /* betweenSize */
            invokevirtual org.eclipse.jface.text.GapTextStore.arrayCopy:(I[CII)V
        19: .line 302
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fContent:[C
            arraylength
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fGapEnd:I
            isub
            istore 12 /* restSize */
        start local 12 // int restSize
        20: .line 303
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fGapEnd:I
            aload 8 /* newContent */
            iload 9 /* newGapEnd */
            iload 11 /* betweenSize */
            iadd
            iload 12 /* restSize */
            invokevirtual org.eclipse.jface.text.GapTextStore.arrayCopy:(I[CII)V
        end local 12 // int restSize
        end local 11 // int betweenSize
        21: .line 304
            goto 33
        22: .line 306
      StackMap locals: char[] int int
      StackMap stack:
            iload 10 /* afterRemove */
            iload 3 /* oldGapSize */
            iadd
            istore 10 /* afterRemove */
        23: .line 307
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fContent:[C
            arraylength
            iload 10 /* afterRemove */
            isub
            istore 11 /* restSize */
        start local 11 // int restSize
        24: .line 308
            aload 0 /* this */
            iload 10 /* afterRemove */
            aload 8 /* newContent */
            iload 9 /* newGapEnd */
            iload 11 /* restSize */
            invokevirtual org.eclipse.jface.text.GapTextStore.arrayCopy:(I[CII)V
        end local 11 // int restSize
        end local 10 // int afterRemove
        25: .line 310
            goto 33
        26: .line 312
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            aload 8 /* newContent */
            iconst_0
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fGapStart:I
            invokevirtual org.eclipse.jface.text.GapTextStore.arrayCopy:(I[CII)V
        27: .line 313
            iload 1 /* offset */
            iload 3 /* oldGapSize */
            iadd
            istore 10 /* offsetShifted */
        start local 10 // int offsetShifted
        28: .line 314
            iload 10 /* offsetShifted */
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fGapEnd:I
            isub
            istore 11 /* betweenSize */
        start local 11 // int betweenSize
        29: .line 315
            aload 0 /* this */
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fGapEnd:I
            aload 8 /* newContent */
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fGapStart:I
            iload 11 /* betweenSize */
            invokevirtual org.eclipse.jface.text.GapTextStore.arrayCopy:(I[CII)V
        30: .line 316
            iload 10 /* offsetShifted */
            iload 2 /* remove */
            iadd
            istore 12 /* afterRemove */
        start local 12 // int afterRemove
        31: .line 317
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fContent:[C
            arraylength
            iload 12 /* afterRemove */
            isub
            istore 13 /* restSize */
        start local 13 // int restSize
        32: .line 318
            aload 0 /* this */
            iload 12 /* afterRemove */
            aload 8 /* newContent */
            iload 9 /* newGapEnd */
            iload 13 /* restSize */
            invokevirtual org.eclipse.jface.text.GapTextStore.arrayCopy:(I[CII)V
        end local 13 // int restSize
        end local 12 // int afterRemove
        end local 11 // int betweenSize
        end local 10 // int offsetShifted
        33: .line 321
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* newContent */
            putfield org.eclipse.jface.text.GapTextStore.fContent:[C
        34: .line 322
            iload 9 /* newGapEnd */
            ireturn
        end local 9 // int newGapEnd
        end local 8 // char[] newContent
        end local 7 // int newArraySize
        end local 6 // int newLength
        end local 5 // int newGapStart
        end local 4 // int newGapSize
        end local 3 // int oldGapSize
        end local 2 // int remove
        end local 1 // int offset
        end local 0 // org.eclipse.jface.text.GapTextStore this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   35     0           this  Lorg/eclipse/jface/text/GapTextStore;
            0   35     1         offset  I
            0   35     2         remove  I
            0   35     3     oldGapSize  I
            0   35     4     newGapSize  I
            0   35     5    newGapStart  I
            1   35     6      newLength  I
            2   35     7   newArraySize  I
           12   35     8     newContent  [C
           13   35     9      newGapEnd  I
           16   25    10    afterRemove  I
           18   21    11    betweenSize  I
           20   21    12       restSize  I
           24   25    11       restSize  I
           28   33    10  offsetShifted  I
           29   33    11    betweenSize  I
           31   33    12    afterRemove  I
           32   33    13       restSize  I
    MethodParameters:
             Name  Flags
      offset       
      remove       
      oldGapSize   final
      newGapSize   
      newGapStart  final

  private char[] allocate(int);
    descriptor: (I)[C
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.eclipse.jface.text.GapTextStore this
        start local 1 // int size
         0: .line 333
            iload 1 /* size */
            newarray 5
            areturn
        end local 1 // int size
        end local 0 // org.eclipse.jface.text.GapTextStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jface/text/GapTextStore;
            0    1     1  size  I
    MethodParameters:
      Name  Flags
      size  

  private void arrayCopy(int, char[], int, int);
    descriptor: (I[CII)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.eclipse.jface.text.GapTextStore this
        start local 1 // int srcPos
        start local 2 // char[] dest
        start local 3 // int destPos
        start local 4 // int length
         0: .line 342
            iload 4 /* length */
            ifeq 2
         1: .line 343
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fContent:[C
            iload 1 /* srcPos */
            aload 2 /* dest */
            iload 3 /* destPos */
            iload 4 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         2: .line 344
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int length
        end local 3 // int destPos
        end local 2 // char[] dest
        end local 1 // int srcPos
        end local 0 // org.eclipse.jface.text.GapTextStore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/eclipse/jface/text/GapTextStore;
            0    3     1   srcPos  I
            0    3     2     dest  [C
            0    3     3  destPos  I
            0    3     4   length  I
    MethodParameters:
         Name  Flags
      srcPos   
      dest     
      destPos  
      length   

  private int gapSize();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jface.text.GapTextStore this
         0: .line 353
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fGapEnd:I
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fGapStart:I
            isub
            ireturn
        end local 0 // org.eclipse.jface.text.GapTextStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jface/text/GapTextStore;

  protected java.lang.String getContentAsString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jface.text.GapTextStore this
         0: .line 363
            new java.lang.String
            dup
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fContent:[C
            invokespecial java.lang.String.<init>:([C)V
            areturn
        end local 0 // org.eclipse.jface.text.GapTextStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jface/text/GapTextStore;

  protected int getGapStartIndex();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jface.text.GapTextStore this
         0: .line 373
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fGapStart:I
            ireturn
        end local 0 // org.eclipse.jface.text.GapTextStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jface/text/GapTextStore;

  protected int getGapEndIndex();
    descriptor: ()I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jface.text.GapTextStore this
         0: .line 383
            aload 0 /* this */
            getfield org.eclipse.jface.text.GapTextStore.fGapEnd:I
            ireturn
        end local 0 // org.eclipse.jface.text.GapTextStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jface/text/GapTextStore;
}
SourceFile: "GapTextStore.java"