private void convertToArrayType(char[][] parameterTypes,int counter,int arrayDim){
  int length=parameterTypes[counter].length;
  char[] arrayType=new char[length + arrayDim * 2];
  System.arraycopy(parameterTypes[counter],0,arrayType,0,length);
  for (int i=0; i < arrayDim; i++) {
    arrayType[length + (i * 2)]='[';
    arrayType[length + (i * 2) + 1]=']';
  }
  parameterTypes[counter]=arrayType;
}

private void convertToArrayType ( char [ ] [ ] parameterTypes , int counter , int arrayDim ) { int length = parameterTypes [ counter ] . length ; char [ ] arrayType = new char [ length + arrayDim * 2 ] ; System . arraycopy ( parameterTypes [ counter ] , 0 , arrayType , 0 , length ) ; for ( int i = 0 ; i < arrayDim ; i ++ ) { arrayType [ length + ( i * 2 ) ] = '[' ; arrayType [ length + ( i * 2 ) + 1 ] = ']' ; } parameterTypes [ counter ] = arrayType ; }
for example : - int foo ( string [ ] ) is ( [ ljava / lang / string ; ) i = > java . lang . string [ ] in a char [ ] [ ] - void foo ( int ) is ( i ) v = = > int
