Buggy code:
public final class Strings { public static final String LINE_SEPARATOR ; private static final char [ ] hexDigit = new char [ ] { '0' , '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '9' , 'A' , 'B' , 'C' , 'D' , 'E' , 'F' } ; private static final Pattern htmlNumber = Pattern . compile ( "\\&\\#\\d+\\;" ) ; public static String afterFirst ( final String s , final char c ) { } public static String afterFirstPathComponent ( final String path , final char separator ) { } public static String afterLast ( final String s , final char c ) { } public static String beforeFirst ( final String s , final char c ) { } public static String beforeLast ( final String s , final char c ) { } public static String beforeLastPathComponent ( final String path , final char separator ) { } public static String capitalize ( final String s ) { } public static CharSequence escapeMarkup ( final String s ) { } public static CharSequence escapeMarkup ( final String s , final boolean escapeSpaces ) { } public static CharSequence escapeMarkup ( final String s , final boolean escapeSpaces , final boolean convertToHtmlUnicodeEscapes ) { } public static String firstPathComponent ( final String path , final char separator ) { } public static String fromEscapedUnicode ( String escapedUnicodeString ) { } public static boolean isEmpty ( final CharSequence string ) { } public static boolean isEqual ( final String string1 , final String string2 ) { } public static boolean isTrue ( final String s ) throws StringValueConversionException { } public static String join ( String separator , String [ ] fragments ) { } public static String lastPathComponent ( final String path , final char separator ) { } public static CharSequence replaceAll ( final CharSequence s , final CharSequence searchFor , CharSequence replaceWith ) { } public static String replaceHtmlEscapeNumber ( String str ) { } public static String [ ] split ( final String s , final char c ) { } public static String stripEnding ( final String s , final String ending ) { } public static String stripJSessionId ( CharSequence url ) { } public static Boolean toBoolean ( final String s ) throws StringValueConversionException { } public static char toChar ( final String s ) throws StringValueConversionException { } public static String toEscapedUnicode ( String unicodeString ) { } public static CharSequence toMultilineMarkup ( final CharSequence s ) { } public static String toString ( final Object object ) { } public static String toString ( final Component component , final Throwable location ) { Class componentClass = component . getClass ( ) ; String componentType = componentClass . getName ( ) ; if ( ( componentType . indexOf ( '$' ) ) >= 0 ) { componentType = componentClass . getSuperclass ( ) . getName ( ) ; } componentType = componentType . substring ( ( ( componentType . lastIndexOf ( '.' ) ) + 1 ) ) ; AppendingStringBuffer sb = new AppendingStringBuffer ( ( ( ( ( ( ( "The<seq2seq4repair_space>" + ( componentType . toLowerCase ( ) ) ) + "<seq2seq4repair_space>with<seq2seq4repair_space>id<seq2seq4repair_space>'" ) + ( component . getId ( ) ) ) + "'<seq2seq4repair_space>that<seq2seq4repair_space>failed<seq2seq4repair_space>to<seq2seq4repair_space>render<seq2seq4repair_space>was<seq2seq4repair_space>" ) + ( location . getMessage ( ) ) ) + "\n" ) ) ; String [ ] skippedElements = new String [ ] { "org.apache.wicket.MarkupContainer" , "org.apache.wicket.Component" , "org.apache.wicket.markup" } ; String [ ] breakingElements = new String [ ] { "org.apache.wicket.protocol.http.WicketServlet" , "org.apache.wicket.protocol.http.WicketFilter" , "java.lang.reflect" } ; StackTraceElement [ ] trace = location . getStackTrace ( ) ; for ( int i = 0 ; i < ( trace . length ) ; i ++ ) { String traceString = trace [ i ] . toString ( ) ; if ( Strings . shouldSkip ( traceString , skippedElements ) ) { continue ; } if ( ! ( ( traceString . startsWith ( "sun.reflect." ) ) && ( i > 1 ) ) ) { <START_BUG> if ( ( traceString . indexOf ( "java.lang.reflect" ) ) >= 0 ) { <END_BUG> sb . append ( "<seq2seq4repair_space>at<seq2seq4repair_space>" ) ; sb . append ( traceString ) ; sb . append ( "\n" ) ; } if ( Strings . shouldSkip ( traceString , breakingElements ) ) { break ; } } } sb . append ( "\n" ) ; return sb . toString ( ) ; } private static boolean shouldSkip ( String text , String [ ] filters ) { } public static String toString ( final Throwable throwable ) { } private static void append ( AppendingStringBuffer buffer , CharSequence s , int from , int to ) { } private static void outputThrowable ( Throwable cause , AppendingStringBuffer sb , boolean stopAtWicketServlet ) { } private static int search ( final CharSequence s , String searchString , int pos ) { } private static char toHex ( int nibble ) { } private Strings ( ) { } }

Fix:
if ( ( traceString . indexOf ( "java.lang.reflect" ) ) < 0 ) {