public static char[] createArraySignature(char[] typeSignature,int arrayCount){
  if (arrayCount == 0)   return typeSignature;
  int sigLength=typeSignature.length;
  char[] result=new char[arrayCount + sigLength];
  for (int i=0; i < arrayCount; i++) {
    result[i]=C_ARRAY;
  }
  System.arraycopy(typeSignature,0,result,arrayCount,sigLength);
  return result;
}

public static char [ ] createArraySignature ( char [ ] typeSignature , int arrayCount ) { if ( arrayCount == 0 ) return typeSignature ; int sigLength = typeSignature . length ; char [ ] result = new char [ arrayCount + sigLength ] ; for ( int i = 0 ; i < arrayCount ; i ++ ) { result [ i ] = C_ARRAY ; } System . arraycopy ( typeSignature , 0 , result , arrayCount , sigLength ) ; return result ; }
creates a new type signature with the given amount of array nesting added to the given type signature .
