Buggy code:
private final void decodeModifiersForMethod ( StringBuffer buffer , int accessFlags ) { } private final void decodeModifiersForType ( StringBuffer buffer , int accessFlags ) { } private String decodeStringValue ( char [ ] chars ) { } private String decodeStringValue ( String s ) { } public String disassemble ( byte [ ] classFileBytes , String lineSeparator ) throws ClassFormatException { } public String disassemble ( byte [ ] classFileBytes , String lineSeparator , int mode ) throws ClassFormatException { } private void disassemble ( IAnnotation annotation , StringBuffer buffer , String lineSeparator , int tabNumber ) { } private void disassemble ( IAnnotationComponent annotationComponent , StringBuffer buffer , String lineSeparator , int tabNumber ) { } private void disassemble ( IAnnotationComponentValue annotationComponentValue , StringBuffer buffer , String lineSeparator , int tabNumber ) { } private void disassemble ( IAnnotationDefaultAttribute annotationDefaultAttribute , StringBuffer buffer , String lineSeparator , int tabNumber ) { } private void disassemble ( IClassFileAttribute classFileAttribute , StringBuffer buffer , String lineSeparator , int tabNumber ) { } private void disassembleEnumConstructor ( IClassFileReader classFileReader , char [ ] className , IMethodInfo methodInfo , StringBuffer buffer , String lineSeparator , int tabNumber , int mode ) { } private void disassemble ( IClassFileReader classFileReader , char [ ] className , IMethodInfo methodInfo , StringBuffer buffer , String lineSeparator , int tabNumber , int mode ) { } public String disassemble ( IClassFileReader classFileReader , String lineSeparator ) { } public String disassemble ( IClassFileReader classFileReader , String lineSeparator , int mode ) { } private void disassembleGenericSignature ( int mode , StringBuffer buffer , final char [ ] signature ) { } private boolean isJavaLangObject ( final char [ ] className ) { } private void disassemble ( ICodeAttribute codeAttribute , StringBuffer buffer , String lineSeparator , int tabNumber , int mode ) { } private void disassemble ( IStackMapTableAttribute attribute , StringBuffer buffer , String lineSeparator , int tabNumber , int mode ) { } private void disassemble ( IStackMapAttribute attribute , StringBuffer buffer , String lineSeparator , int tabNumber , int mode ) { } private void disassemble ( IConstantPool constantPool , StringBuffer buffer , String lineSeparator , int tabNumber ) { } private void disassemble ( IEnclosingMethodAttribute enclosingMethodAttribute , StringBuffer buffer , String lineSeparator , int tabNumber ) { } private void disassembleEnumConstants ( IFieldInfo fieldInfo , StringBuffer buffer , String lineSeparator , int tabNumber , char [ ] [ ] argumentTypes , int mode ) { } private void disassemble ( IFieldInfo fieldInfo , StringBuffer buffer , String lineSeparator , int tabNumber , int mode ) { } private void disassemble ( IInnerClassesAttribute innerClassesAttribute , StringBuffer buffer , String lineSeparator , int tabNumber ) { } private void disassemble ( int index , IParameterAnnotation parameterAnnotation , StringBuffer buffer , String lineSeparator , int tabNumber ) { } private void disassemble ( IRuntimeInvisibleAnnotationsAttribute runtimeInvisibleAnnotationsAttribute , StringBuffer buffer , String lineSeparator , int tabNumber ) { } private void disassemble ( IRuntimeInvisibleParameterAnnotationsAttribute runtimeInvisibleParameterAnnotationsAttribute , StringBuffer buffer , String lineSeparator , int tabNumber ) { } private void disassemble ( IRuntimeVisibleAnnotationsAttribute runtimeVisibleAnnotationsAttribute , StringBuffer buffer , String lineSeparator , int tabNumber ) { } private void disassemble ( IRuntimeVisibleParameterAnnotationsAttribute runtimeVisibleParameterAnnotationsAttribute , StringBuffer buffer , String lineSeparator , int tabNumber ) { } private String disassemble ( IVerificationTypeInfo [ ] infos , int mode ) { StringBuffer buffer = new StringBuffer ( ) ; buffer . append ( '{' ) ; for ( int i = 0 , max = infos . length ; i < max ; i ++ ) { if ( i != 0 ) buffer . append ( ",<seq2seq4repair_space>" ) ; switch ( infos [ i ] . getTag ( ) ) { case IVerificationTypeInfo . ITEM_DOUBLE : buffer . append ( "double" ) ; break ; case IVerificationTypeInfo . ITEM_FLOAT : buffer . append ( "float" ) ; break ; case IVerificationTypeInfo . ITEM_INTEGER : buffer . append ( "int" ) ; break ; case IVerificationTypeInfo . ITEM_LONG : buffer . append ( "long" ) ; break ; case IVerificationTypeInfo . ITEM_NULL : buffer . append ( "null" ) ; break ; case IVerificationTypeInfo . ITEM_OBJECT : char [ ] classTypeName = infos [ i ] . getClassTypeName ( ) ; CharOperation . replace ( classTypeName , '//' , '.' ) ; <START_BUG> if ( ( classTypeName [ 0 ] ) == '[' ) { <END_BUG> classTypeName = Signature . toCharArray ( classTypeName ) ; } buffer . append ( returnClassName ( classTypeName , '.' , mode ) ) ; break ; case IVerificationTypeInfo . ITEM_TOP : buffer . append ( "_" ) ; break ; case IVerificationTypeInfo . ITEM_UNINITIALIZED : buffer . append ( "uninitialized(" ) ; buffer . append ( infos [ i ] . getOffset ( ) ) ; buffer . append ( ')' ) ; break ; case IVerificationTypeInfo . ITEM_UNINITIALIZED_THIS : buffer . append ( "uninitialized_this" ) ; } } buffer . append ( '}' ) ; return String . valueOf ( buffer ) ; } private void disassembleAsModifier ( IAnnotation annotation , StringBuffer buffer , String lineSeparator , int tabNumber , int mode ) { } private void disassembleAsModifier ( IAnnotationComponent annotationComponent , StringBuffer buffer , String lineSeparator , int tabNumber , int mode ) { } private void disassembleAsModifier ( IAnnotationComponentValue annotationComponentValue , StringBuffer buffer , String lineSeparator , int tabNumber , int mode ) { } private void disassembleAsModifier ( IAnnotationDefaultAttribute annotationDefaultAttribute , StringBuffer buffer , String lineSeparator , int tabNumber , int mode ) { } private void disassembleAsModifier ( IRuntimeInvisibleAnnotationsAttribute runtimeInvisibleAnnotationsAttribute , StringBuffer buffer , String lineSeparator , int tabNumber , int mode ) { } private void disassembleAsModifier ( IRuntimeVisibleAnnotationsAttribute runtimeVisibleAnnotationsAttribute , StringBuffer buffer , String lineSeparator , int tabNumber , int mode ) { } private void disassembleTypeMembers ( IClassFileReader classFileReader , char [ ] className , StringBuffer buffer , String lineSeparator , int tabNumber , int mode , boolean isEnum ) { }

Fix:
if ( ( ( classTypeName . length ) > 0 ) && ( ( classTypeName [ 0 ] ) == '[' ) ) {