Buggy code:
public static IClassFileAttribute getAttribute ( IClassFileReader classFileReader , char [ ] attributeName ) { } public static IClassFileAttribute getAttribute ( ICodeAttribute codeAttribute , char [ ] attributeName ) { } public static IClassFileAttribute getAttribute ( IFieldInfo fieldInfo , char [ ] attributeName ) { } public static IClassFileAttribute getAttribute ( IMethodInfo methodInfo , char [ ] attributeName ) { } public static long getJdkLevel ( Object targetLibrary ) { } private static String getLineSeparator ( char [ ] text , char [ ] buffer ) { } public static int getParameterCount ( char [ ] sig ) { } public static String getProblemArgumentsForMarker ( String [ ] arguments ) { } public static String [ ] getProblemArgumentsFromMarker ( String argumentsString ) { } public static byte [ ] getResourceContentsAsByteArray ( IFile file ) throws JavaModelException { } public static char [ ] getResourceContentsAsCharArray ( IFile file ) throws JavaModelException { } public static char [ ] getResourceContentsAsCharArray ( IFile file , String encoding ) throws JavaModelException { } public static String [ ] getTrimmedSimpleNames ( String name ) { } public static int indexOfEnclosingPath ( IPath checkedPath , IPath [ ] paths , int pathCount ) { } public static int indexOfMatchingPath ( IPath checkedPath , IPath [ ] paths , int pathCount ) { } public static int indexOfNestedPath ( IPath checkedPath , IPath [ ] paths , int pathCount ) { } public static final boolean isExcluded ( IJavaElement element ) { } public static final boolean isExcluded ( IPath resourcePath , char [ ] [ ] inclusionPatterns , char [ ] [ ] exclusionPatterns , boolean isFolderPath ) { } public static final boolean isExcluded ( IResource resource , char [ ] [ ] inclusionPatterns , char [ ] [ ] exclusionPatterns ) { } public static boolean isValidClassFileName ( String name ) { } public static boolean isValidCompilationUnitName ( String name ) { } public static boolean isValidFolderNameForPackage ( String folderName ) { } public static boolean isValidMethodSignature ( String sig ) { } public static boolean isValidTypeSignature ( String sig , boolean allowVoid ) { } public static void log ( Throwable e , String message ) { } public static char [ ] normalizeCRs ( char [ ] text , char [ ] buffer ) { } public static String normalizeCRs ( String text , String buffer ) { } public static String packageName ( IPath pkgPath ) { } public static int prefixLength ( char [ ] s1 , char [ ] s2 ) { } public static int prefixLength ( String s1 , String s2 ) { } private static void quickSort ( char [ ] [ ] list , int left , int right ) { } private static void quickSort ( Util . Comparable [ ] sortedCollection , int left , int right ) { } private static void quickSort ( int [ ] list , int left , int right ) { } private static void quickSort ( Object [ ] sortedCollection , int left , int right , Util . Comparer comparer ) { } private static void quickSort ( Object [ ] sortedCollection , int left , int right , int [ ] sortOrder ) { } private static void quickSort ( String [ ] sortedCollection , int left , int right ) { } private static void quickSortReverse ( String [ ] sortedCollection , int left , int right ) { } public static final char [ ] readUTF ( DataInput in ) throws IOException { } public static void relocalize ( ) { } public static void sort ( char [ ] [ ] list ) { } public static void sort ( Util . Comparable [ ] objects ) { } public static void sort ( int [ ] list ) { } public static void sort ( Object [ ] objects , Util . Comparer comparer ) { } public static void sort ( Object [ ] objects , int [ ] sortOrder ) { } public static void sort ( String [ ] strings ) { } public static Util . Comparable [ ] sortCopy ( Util . Comparable [ ] objects ) { } public static Object [ ] sortCopy ( Object [ ] objects , Util . Comparer comparer ) { } public static String [ ] sortCopy ( String [ ] objects ) { } public static void sortReverseOrder ( String [ ] strings ) { } public static char [ ] [ ] toCharArrays ( String [ ] a ) { } public static char [ ] toChars ( String s ) { } public static char [ ] [ ] toCompoundChars ( String s ) { } public static String toString ( char [ ] c ) { } public static String toString ( char [ ] [ ] c ) { } public static String toString ( char [ ] [ ] c , char [ ] d ) { } public static String [ ] typeParameterSignatures ( AbstractMethodDeclaration method ) { } public static String typeSignature ( TypeReference type ) { <START_BUG> char [ ] [ ] compoundName = type . getTypeName ( ) ; <END_BUG> char [ ] typeName = CharOperation . concatWith ( compoundName , '.' ) ; String signature = Signature . createTypeSignature ( typeName , false ) ; int dimensions = type . dimensions ( ) ; if ( dimensions > 0 ) { signature = Signature . createArraySignature ( signature , dimensions ) ; } return signature ; } public static void validateMethodSignature ( String sig ) { } public static void validateTypeSignature ( String sig , boolean allowVoid ) { } public static void verbose ( String log ) { } public static synchronized void verbose ( String log , PrintStream printStream ) { } public static int writeUTF ( OutputStream out , char [ ] str ) throws IOException { } }

Fix:
char [ ] [ ] compoundName = type . getParameterizedTypeName ( ) ;