Buggy code:
public class Disassembler extends ClassFileBytesDisassembler { private static final char [ ] ANY_EXCEPTION = Messages . classfileformat_anyexceptionhandler . toCharArray ( ) ; private static final String VERSION_UNKNOWN = Messages . classfileformat_versionUnknown ; private boolean appendModifier ( StringBuffer buffer , int accessFlags , int modifierConstant , String modifier , boolean firstModifier ) { } private void decodeModifiers ( StringBuffer buffer , int accessFlags , int [ ] checkBits ) { } private void decodeModifiers ( StringBuffer buffer , int accessFlags , boolean printDefault , boolean asBridge , int [ ] checkBits ) { } private void decodeModifiersForField ( StringBuffer buffer , int accessFlags ) { } private void decodeModifiersForFieldForWorkingCopy ( StringBuffer buffer , int accessFlags ) { } private final void decodeModifiersForInnerClasses ( StringBuffer buffer , int accessFlags , boolean printDefault ) { } private final void decodeModifiersForMethod ( StringBuffer buffer , int accessFlags ) { } private final void decodeModifiersForType ( StringBuffer buffer , int accessFlags ) { } public static String escapeString ( String s ) { } static String decodeStringValue ( char [ ] chars ) { } static 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 , int mode ) { } private void disassemble ( IAnnotationComponent annotationComponent , StringBuffer buffer , String lineSeparator , int tabNumber , int mode ) { } private void disassemble ( IAnnotationComponentValue annotationComponentValue , StringBuffer buffer , String lineSeparator , int tabNumber , int mode ) { switch ( annotationComponentValue . getTag ( ) ) { case IAnnotationComponentValue . BYTE_TAG : case IAnnotationComponentValue . CHAR_TAG : case IAnnotationComponentValue . DOUBLE_TAG : case IAnnotationComponentValue . FLOAT_TAG : case IAnnotationComponentValue . INTEGER_TAG : case IAnnotationComponentValue . LONG_TAG : case IAnnotationComponentValue . SHORT_TAG : case IAnnotationComponentValue . BOOLEAN_TAG : case IAnnotationComponentValue . STRING_TAG : IConstantPoolEntry constantPoolEntry = annotationComponentValue . getConstantValue ( ) ; String value = null ; switch ( constantPoolEntry . getKind ( ) ) { case IConstantPoolConstant . CONSTANT_Long : value = ( constantPoolEntry . getLongValue ( ) ) + "L" ; break ; case IConstantPoolConstant . CONSTANT_Float : value = ( constantPoolEntry . getFloatValue ( ) ) + "f" ; break ; case IConstantPoolConstant . CONSTANT_Double : value = Double . toString ( constantPoolEntry . getDoubleValue ( ) ) ; break ; case IConstantPoolConstant . CONSTANT_Integer : switch ( annotationComponentValue . getTag ( ) ) { case IAnnotationComponentValue . CHAR_TAG : value = ( "'" + ( ( char ) ( constantPoolEntry . getIntegerValue ( ) ) ) ) + "'" ; break ; case IAnnotationComponentValue . BOOLEAN_TAG : value = ( ( constantPoolEntry . getIntegerValue ( ) ) == 1 ) ? "true" : "false" ; break ; case IAnnotationComponentValue . BYTE_TAG : value = "(byte)<seq2seq4repair_space>" + ( constantPoolEntry . getIntegerValue ( ) ) ; break ; case IAnnotationComponentValue . SHORT_TAG : value = "(short)<seq2seq4repair_space>" + ( constantPoolEntry . getIntegerValue ( ) ) ; break ; case IAnnotationComponentValue . INTEGER_TAG : value = "(int)<seq2seq4repair_space>" + ( constantPoolEntry . getIntegerValue ( ) ) ; } break ; case IConstantPoolConstant . CONSTANT_Utf8 : value = ( "\"" + ( Disassembler . decodeStringValue ( constantPoolEntry . getUtf8Value ( ) ) ) ) + "\"" ; } buffer . append ( Messages . bind ( Messages . disassembler_annotationdefaultvalue , value ) ) ; break ; case IAnnotationComponentValue . ENUM_TAG : final int enumConstantTypeNameIndex = annotationComponentValue . getEnumConstantTypeNameIndex ( ) ; final char [ ] typeName = CharOperation . replaceOnCopy ( annotationComponentValue . getEnumConstantTypeName ( ) , '//' , '.' ) ; final int enumConstantNameIndex = annotationComponentValue . getEnumConstantNameIndex ( ) ; final char [ ] constantName = annotationComponentValue . getEnumConstantName ( ) ; <START_BUG> buffer . append ( Messages . bind ( Messages . disassembler_annotationenumvalue , new String [ ] { Integer . toString ( enumConstantTypeNameIndex ) , Integer . toString ( enumConstantNameIndex ) , new String ( returnClassName ( Signature . toCharArray ( typeName ) , '.' , ClassFileBytesDisassembler . COMPACT ) ) , new String ( constantName ) } ) ) ; <END_BUG> break ; case IAnnotationComponentValue . CLASS_TAG : final int classIndex = annotationComponentValue . getClassInfoIndex ( ) ; constantPoolEntry = annotationComponentValue . getClassInfo ( ) ; final char [ ] className = CharOperation . replaceOnCopy ( constantPoolEntry . getUtf8Value ( ) , '//' , '.' ) ; buffer . append ( Messages . bind ( Messages . disassembler_annotationclassvalue , new String [ ] { Integer . toString ( classIndex ) , new String ( returnClassName ( Signature . toCharArray ( className ) , '.' , mode ) ) } ) ) ; break ; case IAnnotationComponentValue . ANNOTATION_TAG : buffer . append ( Messages . disassembler_annotationannotationvalue ) ; IAnnotation annotation = annotationComponentValue . getAnnotationValue ( ) ; disassemble ( annotation , buffer , lineSeparator , ( tabNumber + 1 ) , mode ) ; break ; case IAnnotationComponentValue . ARRAY_TAG : buffer . append ( Messages . disassembler_annotationarrayvaluestart ) ; final IAnnotationComponentValue [ ] annotationComponentValues = annotationComponentValue . getAnnotationComponentValues ( ) ; for ( int i = 0 , max = annotationComponentValues . length ; i < max ; i ++ ) { writeNewLine ( buffer , lineSeparator , ( tabNumber + 1 ) ) ; disassemble ( annotationComponentValues [ i ] , buffer , lineSeparator , ( tabNumber + 1 ) , mode ) ; } writeNewLine ( buffer , lineSeparator , ( tabNumber + 1 ) ) ; buffer . append ( Messages . disassembler_annotationarrayvalueend ) ; } } private void disassemble ( IAnnotationDefaultAttribute annotationDefaultAttribute , StringBuffer buffer , String lineSeparator , int tabNumber , int mode ) { } private void disassemble ( IClassFileAttribute classFileAttribute , StringBuffer buffer , String lineSeparator , int tabNumber , int mode ) { }

Fix:
buffer . append ( Messages . bind ( Messages . disassembler_annotationenumvalue , new String [ ] { Integer . toString ( enumConstantTypeNameIndex ) , Integer . toString ( enumConstantNameIndex ) , new String ( returnClassName ( Signature . toCharArray ( typeName ) , '.' , mode ) ) , new String ( constantName ) } ) ) ;