public class org.eclipse.jdt.internal.core.nd.util.CharArrayUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.core.nd.util.CharArrayUtils
  super_class: java.lang.Object
{
  public static final char[] EMPTY_CHAR_ARRAY;
    descriptor: [C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final char[] EMPTY;
    descriptor: [C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final char[][] EMPTY_ARRAY_OF_CHAR_ARRAYS;
    descriptor: [[C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 26
            iconst_0
            newarray 5
            putstatic org.eclipse.jdt.internal.core.nd.util.CharArrayUtils.EMPTY_CHAR_ARRAY:[C
         1: .line 27
            getstatic org.eclipse.jdt.internal.core.nd.util.CharArrayUtils.EMPTY_CHAR_ARRAY:[C
            putstatic org.eclipse.jdt.internal.core.nd.util.CharArrayUtils.EMPTY:[C
         2: .line 29
            iconst_0
            anewarray char[]
            putstatic org.eclipse.jdt.internal.core.nd.util.CharArrayUtils.EMPTY_ARRAY_OF_CHAR_ARRAYS:[[C
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.nd.util.CharArrayUtils this
         0: .line 31
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.eclipse.jdt.internal.core.nd.util.CharArrayUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/nd/util/CharArrayUtils;

  public static final int hash(char[], int, int);
    descriptor: ([CII)I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // char[] str
        start local 1 // int start
        start local 2 // int length
         0: .line 34
            iconst_0
            istore 3 /* h */
        start local 3 // int h
         1: .line 35
            iload 1 /* start */
            iload 2 /* length */
            iadd
            istore 4 /* end */
        start local 4 // int end
         2: .line 37
            iload 1 /* start */
            istore 5 /* curr */
        start local 5 // int curr
         3: goto 6
         4: .line 38
      StackMap locals: int int int
      StackMap stack:
            bipush 31
            iload 3 /* h */
            imul
            aload 0 /* str */
            iload 5 /* curr */
            caload
            iadd
            istore 3 /* h */
         5: .line 37
            iinc 5 /* curr */ 1
      StackMap locals:
      StackMap stack:
         6: iload 5 /* curr */
            iload 4 /* end */
            if_icmplt 4
        end local 5 // int curr
         7: .line 41
            iload 3 /* h */
            ireturn
        end local 4 // int end
        end local 3 // int h
        end local 2 // int length
        end local 1 // int start
        end local 0 // char[] str
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0     str  [C
            0    8     1   start  I
            0    8     2  length  I
            1    8     3       h  I
            2    8     4     end  I
            3    7     5    curr  I
    MethodParameters:
        Name  Flags
      str     
      start   
      length  

  public static final int hash(char[]);
    descriptor: ([C)I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // char[] str
         0: .line 45
            aload 0 /* str */
            iconst_0
            aload 0 /* str */
            arraylength
            invokestatic org.eclipse.jdt.internal.core.nd.util.CharArrayUtils.hash:([CII)I
            ireturn
        end local 0 // char[] str
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   str  [C
    MethodParameters:
      Name  Flags
      str   

  public static final boolean equals(char[], char[]);
    descriptor: ([C[C)Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // char[] str1
        start local 1 // char[] str2
         0: .line 49
            aload 0 /* str1 */
            aload 1 /* str2 */
            invokestatic java.util.Arrays.equals:([C[C)Z
            ireturn
        end local 1 // char[] str2
        end local 0 // char[] str1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  str1  [C
            0    1     1  str2  [C
    MethodParameters:
      Name  Flags
      str1  
      str2  

  public static final boolean equals(char[][], char[][]);
    descriptor: ([[C[[C)Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // char[][] strarr1
        start local 1 // char[][] strarr2
         0: .line 53
            aload 0 /* strarr1 */
            aload 1 /* strarr2 */
            if_acmpne 2
         1: .line 54
            iconst_1
            ireturn
         2: .line 56
      StackMap locals:
      StackMap stack:
            aload 0 /* strarr1 */
            ifnull 3
            aload 1 /* strarr2 */
            ifnonnull 4
         3: .line 57
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 59
      StackMap locals:
      StackMap stack:
            aload 0 /* strarr1 */
            arraylength
            aload 1 /* strarr2 */
            arraylength
            if_icmpeq 6
         5: .line 60
            iconst_0
            ireturn
         6: .line 62
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         7: goto 11
         8: .line 63
      StackMap locals: int
      StackMap stack:
            aload 0 /* strarr1 */
            iload 2 /* i */
            aaload
            aload 1 /* strarr2 */
            iload 2 /* i */
            aaload
            invokestatic java.util.Arrays.equals:([C[C)Z
            ifne 10
         9: .line 64
            iconst_0
            ireturn
        10: .line 62
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 2 /* i */
            aload 1 /* strarr2 */
            arraylength
            if_icmplt 8
        end local 2 // int i
        12: .line 67
            iconst_1
            ireturn
        end local 1 // char[][] strarr2
        end local 0 // char[][] strarr1
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0  strarr1  [[C
            0   13     1  strarr2  [[C
            7   12     2        i  I
    MethodParameters:
         Name  Flags
      strarr1  
      strarr2  

  public static final boolean equals(char[], java.lang.String);
    descriptor: ([CLjava/lang/String;)Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // char[] str1
        start local 1 // java.lang.String str2
         0: .line 76
            aload 0 /* str1 */
            arraylength
            istore 2 /* length */
        start local 2 // int length
         1: .line 77
            aload 1 /* str2 */
            invokevirtual java.lang.String.length:()I
            iload 2 /* length */
            if_icmpeq 3
         2: .line 78
            iconst_0
            ireturn
         3: .line 80
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 8
         5: .line 81
      StackMap locals: int
      StackMap stack:
            aload 0 /* str1 */
            iload 3 /* i */
            caload
            aload 1 /* str2 */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            if_icmpeq 7
         6: .line 82
            iconst_0
            ireturn
         7: .line 80
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            iload 2 /* length */
            if_icmplt 5
        end local 3 // int i
         9: .line 84
            iconst_1
            ireturn
        end local 2 // int length
        end local 1 // java.lang.String str2
        end local 0 // char[] str1
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    str1  [C
            0   10     1    str2  Ljava/lang/String;
            1   10     2  length  I
            4    9     3       i  I
    MethodParameters:
      Name  Flags
      str1  
      str2  

  public static final boolean hasCharAt(char, int, char[]);
    descriptor: (CI[C)Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // char toLookFor
        start local 1 // int position
        start local 2 // char[] toSearch
         0: .line 91
            aload 2 /* toSearch */
            arraylength
            iload 1 /* position */
            if_icmpgt 2
         1: .line 92
            iconst_0
            ireturn
         2: .line 95
      StackMap locals:
      StackMap stack:
            aload 2 /* toSearch */
            iload 1 /* position */
            caload
            iload 0 /* toLookFor */
            if_icmpne 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 2 // char[] toSearch
        end local 1 // int position
        end local 0 // char toLookFor
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0  toLookFor  C
            0    4     1   position  I
            0    4     2   toSearch  [C
    MethodParameters:
           Name  Flags
      toLookFor  
      position   
      toSearch   

  public static final boolean equals(char[], int, int, java.lang.String);
    descriptor: ([CIILjava/lang/String;)Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // char[] str1
        start local 1 // int start1
        start local 2 // int length1
        start local 3 // java.lang.String str2
         0: .line 104
            iload 2 /* length1 */
            aload 3 /* str2 */
            invokevirtual java.lang.String.length:()I
            if_icmpne 1
            aload 0 /* str1 */
            arraylength
            iload 2 /* length1 */
            iload 1 /* start1 */
            iadd
            if_icmpge 2
         1: .line 105
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 106
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 7
         4: .line 107
      StackMap locals: int
      StackMap stack:
            aload 0 /* str1 */
            iload 1 /* start1 */
            iinc 1 /* start1 */ 1
            caload
            aload 3 /* str2 */
            iload 4 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            if_icmpeq 6
         5: .line 108
            iconst_0
            ireturn
         6: .line 106
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            iload 2 /* length1 */
            if_icmplt 4
        end local 4 // int i
         8: .line 110
            iconst_1
            ireturn
        end local 3 // java.lang.String str2
        end local 2 // int length1
        end local 1 // int start1
        end local 0 // char[] str1
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     str1  [C
            0    9     1   start1  I
            0    9     2  length1  I
            0    9     3     str2  Ljava/lang/String;
            3    8     4        i  I
    MethodParameters:
         Name  Flags
      str1     
      start1   
      length1  
      str2     

  public static final boolean startsWith(char[], java.lang.String);
    descriptor: ([CLjava/lang/String;)Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // char[] str1
        start local 1 // java.lang.String str2
         0: .line 119
            aload 1 /* str2 */
            invokevirtual java.lang.String.length:()I
            istore 2 /* len */
        start local 2 // int len
         1: .line 120
            aload 0 /* str1 */
            arraylength
            iload 2 /* len */
            if_icmpge 3
         2: .line 121
            iconst_0
            ireturn
         3: .line 122
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 8
         5: .line 123
      StackMap locals: int
      StackMap stack:
            aload 0 /* str1 */
            iload 3 /* i */
            caload
            aload 1 /* str2 */
            iload 3 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            if_icmpeq 7
         6: .line 124
            iconst_0
            ireturn
         7: .line 122
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            iload 2 /* len */
            if_icmplt 5
        end local 3 // int i
         9: .line 127
            iconst_1
            ireturn
        end local 2 // int len
        end local 1 // java.lang.String str2
        end local 0 // char[] str1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  str1  [C
            0   10     1  str2  Ljava/lang/String;
            1   10     2   len  I
            4    9     3     i  I
    MethodParameters:
      Name  Flags
      str1  
      str2  

  public static final int compare(char[], char[]);
    descriptor: ([C[C)I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // char[] str1
        start local 1 // char[] str2
         0: .line 143
            aload 0 /* str1 */
            aload 1 /* str2 */
            if_acmpne 2
         1: .line 144
            iconst_0
            ireturn
         2: .line 146
      StackMap locals:
      StackMap stack:
            aload 0 /* str1 */
            arraylength
            aload 1 /* str2 */
            arraylength
            invokestatic java.lang.Math.min:(II)I
            istore 2 /* end */
        start local 2 // int end
         3: .line 147
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 9
         5: .line 148
      StackMap locals: int int
      StackMap stack:
            aload 0 /* str1 */
            iload 3 /* i */
            caload
            aload 1 /* str2 */
            iload 3 /* i */
            caload
            isub
            istore 4 /* diff */
        start local 4 // int diff
         6: .line 149
            iload 4 /* diff */
            ifeq 8
         7: .line 150
            iload 4 /* diff */
            ireturn
        end local 4 // int diff
         8: .line 147
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            iload 2 /* end */
            if_icmplt 5
        end local 3 // int i
        10: .line 153
            aload 0 /* str1 */
            arraylength
            aload 1 /* str2 */
            arraylength
            isub
            ireturn
        end local 2 // int end
        end local 1 // char[] str2
        end local 0 // char[] str1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  str1  [C
            0   11     1  str2  [C
            3   11     2   end  I
            4   10     3     i  I
            6    8     4  diff  I
    MethodParameters:
      Name  Flags
      str1  
      str2  

  public static final boolean equals(char[], int, int, char[]);
    descriptor: ([CII[C)Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // char[] str1
        start local 1 // int start1
        start local 2 // int length1
        start local 3 // char[] str2
         0: .line 161
            iload 2 /* length1 */
            aload 3 /* str2 */
            arraylength
            if_icmpne 1
            aload 0 /* str1 */
            arraylength
            iload 2 /* length1 */
            iload 1 /* start1 */
            iadd
            if_icmpge 2
         1: .line 162
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 163
      StackMap locals:
      StackMap stack:
            aload 0 /* str1 */
            aload 3 /* str2 */
            if_acmpne 4
            iload 1 /* start1 */
            ifne 4
         3: .line 164
            iconst_1
            ireturn
         4: .line 165
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 9
         6: .line 166
      StackMap locals: int
      StackMap stack:
            aload 0 /* str1 */
            iload 1 /* start1 */
            iinc 1 /* start1 */ 1
            caload
            aload 3 /* str2 */
            iload 4 /* i */
            caload
            if_icmpeq 8
         7: .line 167
            iconst_0
            ireturn
         8: .line 165
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 4 /* i */
            iload 2 /* length1 */
            if_icmplt 6
        end local 4 // int i
        10: .line 170
            iconst_1
            ireturn
        end local 3 // char[] str2
        end local 2 // int length1
        end local 1 // int start1
        end local 0 // char[] str1
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     str1  [C
            0   11     1   start1  I
            0   11     2  length1  I
            0   11     3     str2  [C
            5   10     4        i  I
    MethodParameters:
         Name  Flags
      str1     
      start1   
      length1  
      str2     

  public static final boolean equals(char[], int, int, char[], boolean);
    descriptor: ([CII[CZ)Z
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // char[] str1
        start local 1 // int start1
        start local 2 // int length1
        start local 3 // char[] str2
        start local 4 // boolean ignoreCase
         0: .line 174
            iload 4 /* ignoreCase */
            ifne 2
         1: .line 175
            aload 0 /* str1 */
            iload 1 /* start1 */
            iload 2 /* length1 */
            aload 3 /* str2 */
            invokestatic org.eclipse.jdt.internal.core.nd.util.CharArrayUtils.equals:([CII[C)Z
            ireturn
         2: .line 177
      StackMap locals:
      StackMap stack:
            iload 2 /* length1 */
            aload 3 /* str2 */
            arraylength
            if_icmpne 3
            aload 0 /* str1 */
            arraylength
            iload 1 /* start1 */
            iload 2 /* length1 */
            iadd
            if_icmpge 4
         3: .line 178
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 180
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 9
         6: .line 181
      StackMap locals: int
      StackMap stack:
            aload 0 /* str1 */
            iload 1 /* start1 */
            iinc 1 /* start1 */ 1
            caload
            invokestatic java.lang.Character.toLowerCase:(C)C
            aload 3 /* str2 */
            iload 5 /* i */
            caload
            invokestatic java.lang.Character.toLowerCase:(C)C
            if_icmpeq 8
         7: .line 182
            iconst_0
            ireturn
         8: .line 180
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 5 /* i */
            iload 2 /* length1 */
            if_icmplt 6
        end local 5 // int i
        10: .line 184
            iconst_1
            ireturn
        end local 4 // boolean ignoreCase
        end local 3 // char[] str2
        end local 2 // int length1
        end local 1 // int start1
        end local 0 // char[] str1
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        str1  [C
            0   11     1      start1  I
            0   11     2     length1  I
            0   11     3        str2  [C
            0   11     4  ignoreCase  Z
            5   10     5           i  I
    MethodParameters:
            Name  Flags
      str1        
      start1      
      length1     
      str2        
      ignoreCase  

  public static final char[] extract(char[], int, int);
    descriptor: ([CII)[C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // char[] str
        start local 1 // int start
        start local 2 // int length
         0: .line 188
            iload 1 /* start */
            ifne 2
            iload 2 /* length */
            aload 0 /* str */
            arraylength
            if_icmpne 2
         1: .line 189
            aload 0 /* str */
            areturn
         2: .line 191
      StackMap locals:
      StackMap stack:
            iload 2 /* length */
            newarray 5
            astore 3 /* copy */
        start local 3 // char[] copy
         3: .line 192
            aload 0 /* str */
            iload 1 /* start */
            aload 3 /* copy */
            iconst_0
            iload 2 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 193
            aload 3 /* copy */
            areturn
        end local 3 // char[] copy
        end local 2 // int length
        end local 1 // int start
        end local 0 // char[] str
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0     str  [C
            0    5     1   start  I
            0    5     2  length  I
            3    5     3    copy  [C
    MethodParameters:
        Name  Flags
      str     
      start   
      length  

  public static final char[] concat(char[], char[]);
    descriptor: ([C[C)[C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // char[] first
        start local 1 // char[] second
         0: .line 197
            aload 0 /* first */
            ifnonnull 2
         1: .line 198
            aload 1 /* second */
            areturn
         2: .line 199
      StackMap locals:
      StackMap stack:
            aload 1 /* second */
            ifnonnull 4
         3: .line 200
            aload 0 /* first */
            areturn
         4: .line 202
      StackMap locals:
      StackMap stack:
            aload 0 /* first */
            arraylength
            istore 2 /* length1 */
        start local 2 // int length1
         5: .line 203
            aload 1 /* second */
            arraylength
            istore 3 /* length2 */
        start local 3 // int length2
         6: .line 204
            iload 2 /* length1 */
            iload 3 /* length2 */
            iadd
            newarray 5
            astore 4 /* result */
        start local 4 // char[] result
         7: .line 205
            aload 0 /* first */
            iconst_0
            aload 4 /* result */
            iconst_0
            iload 2 /* length1 */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         8: .line 206
            aload 1 /* second */
            iconst_0
            aload 4 /* result */
            iload 2 /* length1 */
            iload 3 /* length2 */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         9: .line 207
            aload 4 /* result */
            areturn
        end local 4 // char[] result
        end local 3 // int length2
        end local 2 // int length1
        end local 1 // char[] second
        end local 0 // char[] first
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0    first  [C
            0   10     1   second  [C
            5   10     2  length1  I
            6   10     3  length2  I
            7   10     4   result  [C
    MethodParameters:
        Name  Flags
      first   
      second  

  public static final char[] concat(char[], char[], char[]);
    descriptor: ([C[C[C)[C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // char[] first
        start local 1 // char[] second
        start local 2 // char[] third
         0: .line 211
            aload 0 /* first */
            ifnonnull 2
         1: .line 212
            aload 1 /* second */
            aload 2 /* third */
            invokestatic org.eclipse.jdt.internal.core.nd.util.CharArrayUtils.concat:([C[C)[C
            areturn
         2: .line 213
      StackMap locals:
      StackMap stack:
            aload 1 /* second */
            ifnonnull 4
         3: .line 214
            aload 0 /* first */
            aload 2 /* third */
            invokestatic org.eclipse.jdt.internal.core.nd.util.CharArrayUtils.concat:([C[C)[C
            areturn
         4: .line 215
      StackMap locals:
      StackMap stack:
            aload 2 /* third */
            ifnonnull 6
         5: .line 216
            aload 0 /* first */
            aload 1 /* second */
            invokestatic org.eclipse.jdt.internal.core.nd.util.CharArrayUtils.concat:([C[C)[C
            areturn
         6: .line 218
      StackMap locals:
      StackMap stack:
            aload 0 /* first */
            arraylength
            istore 3 /* length1 */
        start local 3 // int length1
         7: .line 219
            aload 1 /* second */
            arraylength
            istore 4 /* length2 */
        start local 4 // int length2
         8: .line 220
            aload 2 /* third */
            arraylength
            istore 5 /* length3 */
        start local 5 // int length3
         9: .line 221
            iload 3 /* length1 */
            iload 4 /* length2 */
            iadd
            iload 5 /* length3 */
            iadd
            newarray 5
            astore 6 /* result */
        start local 6 // char[] result
        10: .line 222
            aload 0 /* first */
            iconst_0
            aload 6 /* result */
            iconst_0
            iload 3 /* length1 */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        11: .line 223
            aload 1 /* second */
            iconst_0
            aload 6 /* result */
            iload 3 /* length1 */
            iload 4 /* length2 */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        12: .line 224
            aload 2 /* third */
            iconst_0
            aload 6 /* result */
            iload 3 /* length1 */
            iload 4 /* length2 */
            iadd
            iload 5 /* length3 */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        13: .line 225
            aload 6 /* result */
            areturn
        end local 6 // char[] result
        end local 5 // int length3
        end local 4 // int length2
        end local 3 // int length1
        end local 2 // char[] third
        end local 1 // char[] second
        end local 0 // char[] first
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0    first  [C
            0   14     1   second  [C
            0   14     2    third  [C
            7   14     3  length1  I
            8   14     4  length2  I
            9   14     5  length3  I
           10   14     6   result  [C
    MethodParameters:
        Name  Flags
      first   
      second  
      third   

  public static final char[] concat(char[], char[], char[], char[]);
    descriptor: ([C[C[C[C)[C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=5, locals=9, args_size=4
        start local 0 // char[] first
        start local 1 // char[] second
        start local 2 // char[] third
        start local 3 // char[] fourth
         0: .line 229
            aload 0 /* first */
            ifnonnull 2
         1: .line 230
            aload 1 /* second */
            aload 2 /* third */
            aload 3 /* fourth */
            invokestatic org.eclipse.jdt.internal.core.nd.util.CharArrayUtils.concat:([C[C[C)[C
            areturn
         2: .line 231
      StackMap locals:
      StackMap stack:
            aload 1 /* second */
            ifnonnull 4
         3: .line 232
            aload 0 /* first */
            aload 2 /* third */
            aload 3 /* fourth */
            invokestatic org.eclipse.jdt.internal.core.nd.util.CharArrayUtils.concat:([C[C[C)[C
            areturn
         4: .line 233
      StackMap locals:
      StackMap stack:
            aload 2 /* third */
            ifnonnull 6
         5: .line 234
            aload 0 /* first */
            aload 1 /* second */
            aload 3 /* fourth */
            invokestatic org.eclipse.jdt.internal.core.nd.util.CharArrayUtils.concat:([C[C[C)[C
            areturn
         6: .line 235
      StackMap locals:
      StackMap stack:
            aload 3 /* fourth */
            ifnonnull 8
         7: .line 236
            aload 0 /* first */
            aload 1 /* second */
            aload 2 /* third */
            invokestatic org.eclipse.jdt.internal.core.nd.util.CharArrayUtils.concat:([C[C[C)[C
            areturn
         8: .line 238
      StackMap locals:
      StackMap stack:
            aload 0 /* first */
            arraylength
            istore 4 /* length1 */
        start local 4 // int length1
         9: .line 239
            aload 1 /* second */
            arraylength
            istore 5 /* length2 */
        start local 5 // int length2
        10: .line 240
            aload 2 /* third */
            arraylength
            istore 6 /* length3 */
        start local 6 // int length3
        11: .line 241
            aload 3 /* fourth */
            arraylength
            istore 7 /* length4 */
        start local 7 // int length4
        12: .line 242
            iload 4 /* length1 */
            iload 5 /* length2 */
            iadd
            iload 6 /* length3 */
            iadd
            iload 7 /* length4 */
            iadd
            newarray 5
            astore 8 /* result */
        start local 8 // char[] result
        13: .line 243
            aload 0 /* first */
            iconst_0
            aload 8 /* result */
            iconst_0
            iload 4 /* length1 */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        14: .line 244
            aload 1 /* second */
            iconst_0
            aload 8 /* result */
            iload 4 /* length1 */
            iload 5 /* length2 */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        15: .line 245
            aload 2 /* third */
            iconst_0
            aload 8 /* result */
            iload 4 /* length1 */
            iload 5 /* length2 */
            iadd
            iload 6 /* length3 */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        16: .line 246
            aload 3 /* fourth */
            iconst_0
            aload 8 /* result */
            iload 4 /* length1 */
            iload 5 /* length2 */
            iadd
            iload 6 /* length3 */
            iadd
            iload 7 /* length4 */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        17: .line 247
            aload 8 /* result */
            areturn
        end local 8 // char[] result
        end local 7 // int length4
        end local 6 // int length3
        end local 5 // int length2
        end local 4 // int length1
        end local 3 // char[] fourth
        end local 2 // char[] third
        end local 1 // char[] second
        end local 0 // char[] first
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   18     0    first  [C
            0   18     1   second  [C
            0   18     2    third  [C
            0   18     3   fourth  [C
            9   18     4  length1  I
           10   18     5  length2  I
           11   18     6  length3  I
           12   18     7  length4  I
           13   18     8   result  [C
    MethodParameters:
        Name  Flags
      first   
      second  
      third   
      fourth  

  public static char[] concat(char[][]);
    descriptor: ([[C)[C
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // char[][] toCatenate
         0: .line 257
            iconst_0
            istore 1 /* totalSize */
        start local 1 // int totalSize
         1: .line 258
            aload 0 /* toCatenate */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: char[][] int top int int char[][]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* next */
        start local 2 // char[] next
         3: .line 259
            iload 1 /* totalSize */
            aload 2 /* next */
            arraylength
            iadd
            istore 1 /* totalSize */
        end local 2 // char[] next
         4: .line 258
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 2
         6: .line 262
            iload 1 /* totalSize */
            newarray 5
            astore 2 /* result */
        start local 2 // char[] result
         7: .line 263
            iconst_0
            istore 3 /* writeIndex */
        start local 3 // int writeIndex
         8: .line 264
            aload 0 /* toCatenate */
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 15
      StackMap locals: char[][] int char[] int top int int char[][]
      StackMap stack:
         9: aload 7
            iload 5
            aaload
            astore 4 /* next */
        start local 4 // char[] next
        10: .line 265
            aload 4 /* next */
            ifnonnull 12
        11: .line 266
            goto 14
        12: .line 268
      StackMap locals: char[][] int char[] int char[] int int char[][]
      StackMap stack:
            aload 4 /* next */
            iconst_0
            aload 2 /* result */
            iload 3 /* writeIndex */
            aload 4 /* next */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        13: .line 269
            iload 3 /* writeIndex */
            aload 4 /* next */
            arraylength
            iadd
            istore 3 /* writeIndex */
        end local 4 // char[] next
        14: .line 264
      StackMap locals: char[][] int char[] int top int int char[][]
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        15: iload 5
            iload 6
            if_icmplt 9
        16: .line 271
            aload 2 /* result */
            areturn
        end local 3 // int writeIndex
        end local 2 // char[] result
        end local 1 // int totalSize
        end local 0 // char[][] toCatenate
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   17     0  toCatenate  [[C
            1   17     1   totalSize  I
            3    4     2        next  [C
            7   17     2      result  [C
            8   17     3  writeIndex  I
           10   14     4        next  [C
    MethodParameters:
            Name  Flags
      toCatenate  

  public static final char[] replace(char[], char[], char[]);
    descriptor: ([C[C[C)[C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=6, locals=13, args_size=3
        start local 0 // char[] array
        start local 1 // char[] toBeReplaced
        start local 2 // char[] replacementChars
         0: .line 275
            aload 0 /* array */
            arraylength
            istore 3 /* max */
        start local 3 // int max
         1: .line 276
            aload 1 /* toBeReplaced */
            arraylength
            istore 4 /* replacedLength */
        start local 4 // int replacedLength
         2: .line 277
            aload 2 /* replacementChars */
            arraylength
            istore 5 /* replacementLength */
        start local 5 // int replacementLength
         3: .line 279
            iconst_5
            newarray 10
            astore 6 /* starts */
        start local 6 // int[] starts
         4: .line 280
            iconst_0
            istore 7 /* occurrenceCount */
        start local 7 // int occurrenceCount
         5: .line 282
            aload 1 /* toBeReplaced */
            aload 2 /* replacementChars */
            invokestatic org.eclipse.jdt.internal.core.nd.util.CharArrayUtils.equals:([C[C)Z
            ifne 22
         6: .line 283
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         7: goto 21
         8: .line 284
      StackMap locals: char[] char[] char[] int int int int[] int int
      StackMap stack:
            iconst_0
            istore 9 /* j */
        start local 9 // int j
         9: .line 285
            goto 14
        10: .line 286
      StackMap locals: int
      StackMap stack:
            iload 8 /* i */
            iload 9 /* j */
            iadd
            iload 3 /* max */
            if_icmpne 12
        11: .line 287
            goto 20
        12: .line 288
      StackMap locals:
      StackMap stack:
            aload 0 /* array */
            iload 8 /* i */
            iload 9 /* j */
            iadd
            caload
            aload 1 /* toBeReplaced */
            iload 9 /* j */
            iinc 9 /* j */ 1
            caload
            if_icmpeq 14
        13: .line 289
            goto 20
        14: .line 285
      StackMap locals:
      StackMap stack:
            iload 9 /* j */
            iload 4 /* replacedLength */
            if_icmplt 10
        15: .line 291
            iload 7 /* occurrenceCount */
            aload 6 /* starts */
            arraylength
            if_icmpne 19
        16: .line 292
            aload 6 /* starts */
            iconst_0
            iload 7 /* occurrenceCount */
            iconst_2
            imul
            newarray 10
            dup
            astore 6 /* starts */
            iconst_0
        17: .line 293
            iload 7 /* occurrenceCount */
        18: .line 292
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        19: .line 295
      StackMap locals:
      StackMap stack:
            aload 6 /* starts */
            iload 7 /* occurrenceCount */
            iinc 7 /* occurrenceCount */ 1
            iload 8 /* i */
            iastore
        end local 9 // int j
        20: .line 283
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 8 /* i */
            iload 3 /* max */
            if_icmplt 8
        end local 8 // int i
        22: .line 298
      StackMap locals:
      StackMap stack:
            iload 7 /* occurrenceCount */
            ifne 24
        23: .line 299
            aload 0 /* array */
            areturn
        24: .line 300
      StackMap locals:
      StackMap stack:
            iload 3 /* max */
            iload 7 /* occurrenceCount */
            iload 5 /* replacementLength */
            iload 4 /* replacedLength */
            isub
            imul
            iadd
            newarray 5
            astore 8 /* result */
        start local 8 // char[] result
        25: .line 301
            iconst_0
            istore 9 /* inStart */
        start local 9 // int inStart
        26: iconst_0
            istore 10 /* outStart */
        start local 10 // int outStart
        27: .line 302
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        28: goto 42
        29: .line 303
      StackMap locals: char[] char[] char[] int int int int[] int char[] int int int
      StackMap stack:
            aload 6 /* starts */
            iload 11 /* i */
            iaload
            iload 9 /* inStart */
            isub
            istore 12 /* offset */
        start local 12 // int offset
        30: .line 304
            aload 0 /* array */
            iload 9 /* inStart */
            aload 8 /* result */
            iload 10 /* outStart */
            iload 12 /* offset */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        31: .line 305
            iload 9 /* inStart */
            iload 12 /* offset */
            iadd
            istore 9 /* inStart */
        32: .line 306
            iload 10 /* outStart */
            iload 12 /* offset */
            iadd
            istore 10 /* outStart */
        33: .line 308
            aload 2 /* replacementChars */
        34: .line 309
            iconst_0
        35: .line 310
            aload 8 /* result */
        36: .line 311
            iload 10 /* outStart */
        37: .line 312
            iload 5 /* replacementLength */
        38: .line 307
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        39: .line 313
            iload 9 /* inStart */
            iload 4 /* replacedLength */
            iadd
            istore 9 /* inStart */
        40: .line 314
            iload 10 /* outStart */
            iload 5 /* replacementLength */
            iadd
            istore 10 /* outStart */
        end local 12 // int offset
        41: .line 302
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        42: iload 11 /* i */
            iload 7 /* occurrenceCount */
            if_icmplt 29
        end local 11 // int i
        43: .line 316
            aload 0 /* array */
            iload 9 /* inStart */
            aload 8 /* result */
            iload 10 /* outStart */
            iload 3 /* max */
            iload 9 /* inStart */
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        44: .line 317
            aload 8 /* result */
            areturn
        end local 10 // int outStart
        end local 9 // int inStart
        end local 8 // char[] result
        end local 7 // int occurrenceCount
        end local 6 // int[] starts
        end local 5 // int replacementLength
        end local 4 // int replacedLength
        end local 3 // int max
        end local 2 // char[] replacementChars
        end local 1 // char[] toBeReplaced
        end local 0 // char[] array
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   45     0              array  [C
            0   45     1       toBeReplaced  [C
            0   45     2   replacementChars  [C
            1   45     3                max  I
            2   45     4     replacedLength  I
            3   45     5  replacementLength  I
            4   45     6             starts  [I
            5   45     7    occurrenceCount  I
            7   22     8                  i  I
            9   20     9                  j  I
           25   45     8             result  [C
           26   45     9            inStart  I
           27   45    10           outStart  I
           28   43    11                  i  I
           30   41    12             offset  I
    MethodParameters:
                  Name  Flags
      array             
      toBeReplaced      
      replacementChars  

  public static final char[][] subarray(char[][], int, int);
    descriptor: ([[CII)[[C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // char[][] array
        start local 1 // int start
        start local 2 // int end
         0: .line 321
            iload 2 /* end */
            iconst_m1
            if_icmpne 2
         1: .line 322
            aload 0 /* array */
            arraylength
            istore 2 /* end */
         2: .line 323
      StackMap locals:
      StackMap stack:
            iload 1 /* start */
            iload 2 /* end */
            if_icmple 4
         3: .line 324
            aconst_null
            areturn
         4: .line 325
      StackMap locals:
      StackMap stack:
            iload 1 /* start */
            ifge 6
         5: .line 326
            aconst_null
            areturn
         6: .line 327
      StackMap locals:
      StackMap stack:
            iload 2 /* end */
            aload 0 /* array */
            arraylength
            if_icmple 8
         7: .line 328
            aconst_null
            areturn
         8: .line 330
      StackMap locals:
      StackMap stack:
            iload 2 /* end */
            iload 1 /* start */
            isub
            anewarray char[]
            astore 3 /* result */
        start local 3 // char[][] result
         9: .line 331
            aload 0 /* array */
            iload 1 /* start */
            aload 3 /* result */
            iconst_0
            iload 2 /* end */
            iload 1 /* start */
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        10: .line 332
            aload 3 /* result */
            areturn
        end local 3 // char[][] result
        end local 2 // int end
        end local 1 // int start
        end local 0 // char[][] array
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0   array  [[C
            0   11     1   start  I
            0   11     2     end  I
            9   11     3  result  [[C
    MethodParameters:
       Name  Flags
      array  
      start  
      end    

  public static final char[] subarray(char[], int, int);
    descriptor: ([CII)[C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // char[] array
        start local 1 // int start
        start local 2 // int end
         0: .line 336
            iload 2 /* end */
            iconst_m1
            if_icmpne 2
         1: .line 337
            aload 0 /* array */
            arraylength
            istore 2 /* end */
         2: .line 338
      StackMap locals:
      StackMap stack:
            iload 1 /* start */
            iload 2 /* end */
            if_icmple 4
         3: .line 339
            aconst_null
            areturn
         4: .line 340
      StackMap locals:
      StackMap stack:
            iload 1 /* start */
            ifge 6
         5: .line 341
            aconst_null
            areturn
         6: .line 342
      StackMap locals:
      StackMap stack:
            iload 2 /* end */
            aload 0 /* array */
            arraylength
            if_icmple 8
         7: .line 343
            aconst_null
            areturn
         8: .line 345
      StackMap locals:
      StackMap stack:
            iload 2 /* end */
            iload 1 /* start */
            isub
            newarray 5
            astore 3 /* result */
        start local 3 // char[] result
         9: .line 346
            aload 0 /* array */
            iload 1 /* start */
            aload 3 /* result */
            iconst_0
            iload 2 /* end */
            iload 1 /* start */
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        10: .line 347
            aload 3 /* result */
            areturn
        end local 3 // char[] result
        end local 2 // int end
        end local 1 // int start
        end local 0 // char[] array
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0   array  [C
            0   11     1   start  I
            0   11     2     end  I
            9   11     3  result  [C
    MethodParameters:
       Name  Flags
      array  
      start  
      end    

  public static final int indexOf(char, char[]);
    descriptor: (C[C)I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // char toBeFound
        start local 1 // char[] array
         0: .line 351
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 352
      StackMap locals: int
      StackMap stack:
            iload 0 /* toBeFound */
            aload 1 /* array */
            iload 2 /* i */
            caload
            if_icmpne 4
         3: .line 353
            iload 2 /* i */
            ireturn
         4: .line 351
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 1 /* array */
            arraylength
            if_icmplt 2
        end local 2 // int i
         6: .line 355
            iconst_m1
            ireturn
        end local 1 // char[] array
        end local 0 // char toBeFound
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0  toBeFound  C
            0    7     1      array  [C
            1    6     2          i  I
    MethodParameters:
           Name  Flags
      toBeFound  
      array      

  public static int indexOf(char, char[], int, int);
    descriptor: (C[CII)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // char toBeFound
        start local 1 // char[] buffer
        start local 2 // int start
        start local 3 // int end
         0: .line 359
            iload 2 /* start */
            iflt 1
            iload 2 /* start */
            aload 1 /* buffer */
            arraylength
            if_icmpgt 1
            iload 3 /* end */
            aload 1 /* buffer */
            arraylength
            if_icmple 2
         1: .line 360
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
         2: .line 362
      StackMap locals:
      StackMap stack:
            iload 2 /* start */
            istore 4 /* i */
        start local 4 // int i
         3: goto 7
         4: .line 363
      StackMap locals: int
      StackMap stack:
            iload 0 /* toBeFound */
            aload 1 /* buffer */
            iload 4 /* i */
            caload
            if_icmpne 6
         5: .line 364
            iload 4 /* i */
            ireturn
         6: .line 362
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 4 /* i */
            iload 3 /* end */
            if_icmplt 4
        end local 4 // int i
         8: .line 366
            iconst_m1
            ireturn
        end local 3 // int end
        end local 2 // int start
        end local 1 // char[] buffer
        end local 0 // char toBeFound
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0  toBeFound  C
            0    9     1     buffer  [C
            0    9     2      start  I
            0    9     3        end  I
            3    8     4          i  I
    MethodParameters:
           Name  Flags
      toBeFound  
      buffer     
      start      
      end        

  public static final int indexOf(char[], char[]);
    descriptor: ([C[C)I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // char[] toBeFound
        start local 1 // char[] array
         0: .line 370
            aload 0 /* toBeFound */
            arraylength
            aload 1 /* array */
            arraylength
            if_icmple 2
         1: .line 371
            iconst_m1
            ireturn
         2: .line 373
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* j */
        start local 2 // int j
         3: .line 374
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 10
         5: .line 375
      StackMap locals: int int
      StackMap stack:
            aload 0 /* toBeFound */
            iload 2 /* j */
            caload
            aload 1 /* array */
            iload 3 /* i */
            caload
            if_icmpne 8
         6: .line 376
            iinc 2 /* j */ 1
            iload 2 /* j */
            aload 0 /* toBeFound */
            arraylength
            if_icmpne 9
         7: .line 377
            iload 3 /* i */
            iload 2 /* j */
            isub
            iconst_1
            iadd
            ireturn
         8: .line 379
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* j */
         9: .line 374
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* i */
            aload 1 /* array */
            arraylength
            if_icmplt 5
        end local 3 // int i
        11: .line 382
            iconst_m1
            ireturn
        end local 2 // int j
        end local 1 // char[] array
        end local 0 // char[] toBeFound
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0  toBeFound  [C
            0   12     1      array  [C
            3   12     2          j  I
            4   11     3          i  I
    MethodParameters:
           Name  Flags
      toBeFound  
      array      

  public static final int lastIndexOf(char[], char[]);
    descriptor: ([C[C)I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // char[] toBeFound
        start local 1 // char[] array
         0: .line 386
            aload 0 /* toBeFound */
            aload 1 /* array */
            iconst_0
            invokestatic org.eclipse.jdt.internal.core.nd.util.CharArrayUtils.lastIndexOf:([C[CI)I
            ireturn
        end local 1 // char[] array
        end local 0 // char[] toBeFound
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  toBeFound  [C
            0    1     1      array  [C
    MethodParameters:
           Name  Flags
      toBeFound  
      array      

  public static int lastIndexOf(char, char[]);
    descriptor: (C[C)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // char toBeFound
        start local 1 // char[] array
         0: .line 393
            iload 0 /* toBeFound */
            aload 1 /* array */
            iconst_0
            invokestatic org.eclipse.jdt.internal.core.nd.util.CharArrayUtils.lastIndexOf:(C[CI)I
            ireturn
        end local 1 // char[] array
        end local 0 // char toBeFound
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0  toBeFound  C
            0    1     1      array  [C
    MethodParameters:
           Name  Flags
      toBeFound  
      array      

  public static int lastIndexOf(char, char[], int);
    descriptor: (C[CI)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // char toBeFound
        start local 1 // char[] array
        start local 2 // int fromIndex
         0: .line 400
            aload 1 /* array */
            arraylength
            istore 3 /* i */
        start local 3 // int i
         1: goto 4
         2: .line 401
      StackMap locals: int
      StackMap stack:
            aload 1 /* array */
            iload 3 /* i */
            caload
            iload 0 /* toBeFound */
            if_icmpne 4
         3: .line 402
            iload 3 /* i */
            ireturn
         4: .line 400
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ -1
            iload 3 /* i */
            iload 2 /* fromIndex */
            if_icmpge 2
        end local 3 // int i
         5: .line 405
            iconst_m1
            ireturn
        end local 2 // int fromIndex
        end local 1 // char[] array
        end local 0 // char toBeFound
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0  toBeFound  C
            0    6     1      array  [C
            0    6     2  fromIndex  I
            1    5     3          i  I
    MethodParameters:
           Name  Flags
      toBeFound  
      array      
      fromIndex  

  public static int lastIndexOf(char[], char[], int);
    descriptor: ([C[CI)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // char[] toBeFound
        start local 1 // char[] array
        start local 2 // int fromIndex
         0: .line 412
            aload 1 /* array */
            arraylength
            istore 3 /* i */
        start local 3 // int i
         1: .line 413
            aload 0 /* toBeFound */
            arraylength
            istore 4 /* j */
        start local 4 // int j
         2: .line 415
      StackMap locals: int int
      StackMap stack:
            iinc 4 /* j */ -1
            iload 4 /* j */
            ifge 4
         3: .line 416
            iload 3 /* i */
            ireturn
         4: .line 417
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ -1
            iload 3 /* i */
            iload 2 /* fromIndex */
            if_icmpge 6
         5: .line 418
            iconst_m1
            ireturn
         6: .line 419
      StackMap locals:
      StackMap stack:
            aload 0 /* toBeFound */
            iload 4 /* j */
            caload
            aload 1 /* array */
            iload 3 /* i */
            caload
            if_icmpeq 2
         7: .line 420
            iload 3 /* i */
            aload 0 /* toBeFound */
            arraylength
            iload 4 /* j */
            isub
            iconst_1
            isub
            iadd
            istore 3 /* i */
         8: .line 421
            aload 0 /* toBeFound */
            arraylength
            istore 4 /* j */
         9: .line 414
            goto 2
        end local 4 // int j
        end local 3 // int i
        end local 2 // int fromIndex
        end local 1 // char[] array
        end local 0 // char[] toBeFound
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0  toBeFound  [C
            0   10     1      array  [C
            0   10     2  fromIndex  I
            1   10     3          i  I
            2   10     4          j  I
    MethodParameters:
           Name  Flags
      toBeFound  
      array      
      fromIndex  

  public static final char[] trim(char[]);
    descriptor: ([C)[C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // char[] chars
         0: .line 427
            aload 0 /* chars */
            ifnonnull 2
         1: .line 428
            aconst_null
            areturn
         2: .line 430
      StackMap locals:
      StackMap stack:
            aload 0 /* chars */
            arraylength
            istore 1 /* length */
        start local 1 // int length
         3: .line 431
            iconst_0
            istore 2 /* start */
        start local 2 // int start
         4: .line 432
            goto 6
         5: .line 433
      StackMap locals: int int
      StackMap stack:
            iinc 2 /* start */ 1
         6: .line 432
      StackMap locals:
      StackMap stack:
            iload 2 /* start */
            iload 1 /* length */
            if_icmpge 7
            aload 0 /* chars */
            iload 2 /* start */
            caload
            bipush 32
            if_icmpeq 5
         7: .line 435
      StackMap locals:
      StackMap stack:
            iload 2 /* start */
            iload 1 /* length */
            if_icmpne 9
         8: .line 436
            getstatic org.eclipse.jdt.internal.core.nd.util.CharArrayUtils.EMPTY_CHAR_ARRAY:[C
            areturn
         9: .line 438
      StackMap locals:
      StackMap stack:
            iload 1 /* length */
            istore 3 /* end */
        start local 3 // int end
        10: .line 439
      StackMap locals: int
      StackMap stack:
            iinc 3 /* end */ -1
            iload 3 /* end */
            iload 2 /* start */
            if_icmple 11
            aload 0 /* chars */
            iload 3 /* end */
            caload
            bipush 32
            if_icmpeq 10
        11: .line 442
      StackMap locals:
      StackMap stack:
            iinc 3 /* end */ 1
        12: .line 443
            iload 2 /* start */
            ifne 14
            iload 3 /* end */
            iload 1 /* length */
            if_icmpne 14
        13: .line 444
            aload 0 /* chars */
            areturn
        14: .line 445
      StackMap locals:
      StackMap stack:
            aload 0 /* chars */
            iload 2 /* start */
            iload 3 /* end */
            invokestatic org.eclipse.jdt.internal.core.nd.util.CharArrayUtils.subarray:([CII)[C
            areturn
        end local 3 // int end
        end local 2 // int start
        end local 1 // int length
        end local 0 // char[] chars
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0   chars  [C
            3   15     1  length  I
            4   15     2   start  I
           10   15     3     end  I
    MethodParameters:
       Name  Flags
      chars  

  public static final char[] lastSegment(char[], char[]);
    descriptor: ([C[C)[C
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // char[] array
        start local 1 // char[] separator
         0: .line 449
            aload 1 /* separator */
            aload 0 /* array */
            invokestatic org.eclipse.jdt.internal.core.nd.util.CharArrayUtils.lastIndexOf:([C[C)I
            istore 2 /* pos */
        start local 2 // int pos
         1: .line 450
            iload 2 /* pos */
            ifge 3
         2: .line 451
            aload 0 /* array */
            areturn
         3: .line 452
      StackMap locals: int
      StackMap stack:
            aload 0 /* array */
            iload 2 /* pos */
            aload 1 /* separator */
            arraylength
            iadd
            aload 0 /* array */
            arraylength
            invokestatic org.eclipse.jdt.internal.core.nd.util.CharArrayUtils.subarray:([CII)[C
            areturn
        end local 2 // int pos
        end local 1 // char[] separator
        end local 0 // char[] array
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0      array  [C
            0    4     1  separator  [C
            1    4     2        pos  I
    MethodParameters:
           Name  Flags
      array      
      separator  

  public static void overWrite(char[], int, char[]);
    descriptor: ([CI[C)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // char[] buff
        start local 1 // int i
        start local 2 // char[] charImage
         0: .line 461
            aload 0 /* buff */
            arraylength
            iload 1 /* i */
            aload 2 /* charImage */
            arraylength
            iadd
            if_icmpge 2
         1: .line 462
            return
         2: .line 463
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* j */
        start local 3 // int j
         3: goto 6
         4: .line 464
      StackMap locals: int
      StackMap stack:
            aload 0 /* buff */
            iload 1 /* i */
            iload 3 /* j */
            iadd
            aload 2 /* charImage */
            iload 3 /* j */
            caload
            castore
         5: .line 463
            iinc 3 /* j */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* j */
            aload 2 /* charImage */
            arraylength
            if_icmplt 4
        end local 3 // int j
         7: .line 466
            return
        end local 2 // char[] charImage
        end local 1 // int i
        end local 0 // char[] buff
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       buff  [C
            0    8     1          i  I
            0    8     2  charImage  [C
            3    7     3          j  I
    MethodParameters:
           Name  Flags
      buff       
      i          
      charImage  

  public static int indexOf(char[], char[][]);
    descriptor: ([C[[C)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // char[] searchFor
        start local 1 // char[][] searchIn
         0: .line 474
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 475
      StackMap locals: int
      StackMap stack:
            aload 1 /* searchIn */
            iload 2 /* i */
            aaload
            aload 0 /* searchFor */
            invokestatic org.eclipse.jdt.internal.core.nd.util.CharArrayUtils.equals:([C[C)Z
            ifeq 4
         3: .line 476
            iload 2 /* i */
            ireturn
         4: .line 474
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 1 /* searchIn */
            arraylength
            if_icmplt 2
        end local 2 // int i
         6: .line 479
            iconst_m1
            ireturn
        end local 1 // char[][] searchIn
        end local 0 // char[] searchFor
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0  searchFor  [C
            0    7     1   searchIn  [[C
            1    6     2          i  I
    MethodParameters:
           Name  Flags
      searchFor  final
      searchIn   final

  public static char[] extractChars(java.lang.StringBuilder);
    descriptor: (Ljava/lang/StringBuilder;)[C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // java.lang.StringBuilder buf
         0: .line 487
            aload 0 /* buf */
            invokevirtual java.lang.StringBuilder.length:()I
            istore 1 /* len */
        start local 1 // int len
         1: .line 488
            iload 1 /* len */
            ifne 3
         2: .line 489
            getstatic org.eclipse.jdt.internal.core.nd.util.CharArrayUtils.EMPTY_CHAR_ARRAY:[C
            areturn
         3: .line 490
      StackMap locals: int
      StackMap stack:
            iload 1 /* len */
            newarray 5
            astore 2 /* result */
        start local 2 // char[] result
         4: .line 491
            aload 0 /* buf */
            iconst_0
            iload 1 /* len */
            aload 2 /* result */
            iconst_0
            invokevirtual java.lang.StringBuilder.getChars:(II[CI)V
         5: .line 492
            aload 2 /* result */
            areturn
        end local 2 // char[] result
        end local 1 // int len
        end local 0 // java.lang.StringBuilder buf
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0     buf  Ljava/lang/StringBuilder;
            1    6     1     len  I
            4    6     2  result  [C
    MethodParameters:
      Name  Flags
      buf   

  public static char[] subarray(char[], int);
    descriptor: ([CI)[C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // char[] inputString
        start local 1 // int index
         0: .line 496
            aload 0 /* inputString */
            arraylength
            iload 1 /* index */
            if_icmpgt 2
         1: .line 497
            getstatic org.eclipse.jdt.internal.core.nd.util.CharArrayUtils.EMPTY_CHAR_ARRAY:[C
            areturn
         2: .line 500
      StackMap locals:
      StackMap stack:
            aload 0 /* inputString */
            arraylength
            iload 1 /* index */
            isub
            newarray 5
            astore 2 /* result */
        start local 2 // char[] result
         3: .line 501
            aload 0 /* inputString */
            iload 1 /* index */
            aload 2 /* result */
            iconst_0
            aload 2 /* result */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 502
            aload 2 /* result */
            areturn
        end local 2 // char[] result
        end local 1 // int index
        end local 0 // char[] inputString
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0  inputString  [C
            0    5     1        index  I
            3    5     2       result  [C
    MethodParameters:
             Name  Flags
      inputString  
      index        

  public static boolean startsWith(char[], char);
    descriptor: ([CC)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // char[] fieldDescriptor
        start local 1 // char c
         0: .line 506
            aload 0 /* fieldDescriptor */
            arraylength
            ifle 1
            aload 0 /* fieldDescriptor */
            iconst_0
            caload
            iload 1 /* c */
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // char c
        end local 0 // char[] fieldDescriptor
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0  fieldDescriptor  [C
            0    2     1                c  C
    MethodParameters:
                 Name  Flags
      fieldDescriptor  
      c                

  public static char[] notNull(char[]);
    descriptor: ([C)[C
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // char[] contents
         0: .line 513
            aload 0 /* contents */
            ifnonnull 2
         1: .line 514
            getstatic org.eclipse.jdt.internal.core.nd.util.CharArrayUtils.EMPTY_CHAR_ARRAY:[C
            areturn
         2: .line 516
      StackMap locals:
      StackMap stack:
            aload 0 /* contents */
            areturn
        end local 0 // char[] contents
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0  contents  [C
    MethodParameters:
          Name  Flags
      contents  

  public static boolean endsWith(char[], char);
    descriptor: ([CC)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // char[] fieldDescriptor
        start local 1 // char c
         0: .line 520
            aload 0 /* fieldDescriptor */
            arraylength
            ifne 2
         1: .line 521
            iconst_0
            ireturn
         2: .line 523
      StackMap locals:
      StackMap stack:
            aload 0 /* fieldDescriptor */
            aload 0 /* fieldDescriptor */
            arraylength
            iconst_1
            isub
            caload
            iload 1 /* c */
            if_icmpne 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 1 // char c
        end local 0 // char[] fieldDescriptor
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0  fieldDescriptor  [C
            0    4     1                c  C
    MethodParameters:
                 Name  Flags
      fieldDescriptor  
      c                
}
SourceFile: "CharArrayUtils.java"