Buggy code:
public class CompletionProposalLabelProvider { private static final String QUALIFIER_SEPARATOR = JavaElementLabels . CONCAT_STRING ; private static final String RETURN_TYPE_SEPARATOR = JavaElementLabels . DECL_STRING ; private static final String VAR_TYPE_SEPARATOR = JavaElementLabels . DECL_STRING ; private CompletionContext fContext ; public CompletionProposalLabelProvider ( ) { } public String createParameterList ( CompletionProposal proposal ) { } private StyledString appendUnboundedParameterList ( StyledString buffer , CompletionProposal methodProposal ) { } private StyledString appendTypeParameterList ( StyledString buffer , CompletionProposal typeProposal ) { } private char [ ] convertToVararg ( char [ ] typeName ) { } private char [ ] createTypeDisplayName ( char [ ] typeSignature ) throws IllegalArgumentException { } private final StyledString appendParameterSignature ( StyledString buffer , char [ ] [ ] parameterTypes , char [ ] [ ] parameterNames ) { } StyledString createMethodProposalLabel ( CompletionProposal methodProposal ) { } StyledString createJavadocMethodProposalLabel ( CompletionProposal methodProposal ) { } StyledString createOverrideMethodProposalLabel ( CompletionProposal methodProposal ) { } private String extractDeclaringTypeFQN ( CompletionProposal methodProposal ) { char [ ] declaringTypeSignature = methodProposal . getDeclarationSignature ( ) ; if ( declaringTypeSignature == null ) return "java.lang.Object" ; <START_BUG> return SignatureUtil . stripSignatureToFQN ( String . valueOf ( declaringTypeSignature ) ) ; <END_BUG> } StyledString createTypeProposalLabel ( CompletionProposal typeProposal ) { } StyledString createJavadocTypeProposalLabel ( CompletionProposal typeProposal ) { } StyledString createJavadocSimpleProposalLabel ( CompletionProposal proposal ) { } StyledString createTypeProposalLabel ( char [ ] fullName ) { } StyledString createJavadocTypeProposalLabel ( char [ ] fullName ) { } private int findSimpleNameStart ( char [ ] array ) { } StyledString createSimpleLabelWithType ( CompletionProposal proposal ) { } private boolean isThisPrefix ( char [ ] string ) { } StyledString createLabelWithTypeAndDeclaration ( CompletionProposal proposal ) { } StyledString createPackageProposalLabel ( CompletionProposal proposal ) { } StyledString createSimpleLabel ( CompletionProposal proposal ) { } StyledString createAnonymousTypeLabel ( CompletionProposal proposal ) { } public String createLabel ( CompletionProposal proposal ) { } public StyledString createStyledLabel ( CompletionProposal proposal ) { } public ImageDescriptor createImageDescriptor ( CompletionProposal proposal ) { } ImageDescriptor createMethodImageDescriptor ( CompletionProposal proposal ) { } ImageDescriptor createTypeImageDescriptor ( CompletionProposal proposal ) { } ImageDescriptor createFieldImageDescriptor ( CompletionProposal proposal ) { } ImageDescriptor createLocalImageDescriptor ( CompletionProposal proposal ) { } ImageDescriptor createPackageImageDescriptor ( CompletionProposal proposal ) { } private ImageDescriptor decorateImageDescriptor ( ImageDescriptor descriptor , CompletionProposal proposal ) { } void setContext ( CompletionContext context ) { } }

Fix:
return Signature . toString ( Signature . getTypeErasure ( String . valueOf ( declaringTypeSignature ) ) ) ;