Buggy code:
public void typeCollidesWithPackage ( CompilationUnitDeclaration compUnitDecl , TypeDeclaration typeDecl ) { } public void typeHiding ( TypeParameter typeParam , Binding hidden ) { } public void typeMismatchError ( TypeBinding actualType , TypeBinding expectedType , ASTNode location ) { } public void typeMismatchError ( TypeBinding typeArgument , TypeVariableBinding typeParameter , ReferenceBinding genericType , ASTNode location ) { } private String typesAsString ( boolean isVarargs , TypeBinding [ ] types , boolean makeShort ) { } public void undefinedAnnotationValue ( TypeBinding annotationType , MemberValuePair memberValuePair ) { } public void undefinedLabel ( BranchStatement statement ) { } public void undefinedTypeVariableSignature ( char [ ] variableName , ReferenceBinding binaryType ) { } public void undocumentedEmptyBlock ( int blockStart , int blockEnd ) { } public void unexpectedStaticModifierForField ( SourceTypeBinding type , FieldDeclaration fieldDecl ) { } public void unexpectedStaticModifierForMethod ( ReferenceBinding type , AbstractMethodDeclaration methodDecl ) { } public void unhandledException ( TypeBinding exceptionType , ASTNode location ) { } public void uninitializedBlankFinalField ( FieldBinding binding , ASTNode location ) { } public void uninitializedLocalVariable ( LocalVariableBinding binding , ASTNode location ) { } public void unmatchedBracket ( int position , ReferenceContext context , CompilationResult compilationResult ) { } public void unnecessaryCast ( CastExpression castExpression ) { } public void unnecessaryElse ( ASTNode location ) { } public void unnecessaryEnclosingInstanceSpecification ( Expression expression , ReferenceBinding targetType ) { } public void unnecessaryInstanceof ( InstanceOfExpression instanceofExpression , TypeBinding checkType ) { } public void unqualifiedFieldAccess ( NameReference reference , FieldBinding field ) { } public void unreachableCatchBlock ( ReferenceBinding exceptionType , ASTNode location ) { } public void unreachableCode ( Statement statement ) { } public void unresolvableReference ( NameReference nameRef , Binding binding ) { } public void unsafeCast ( CastExpression castExpression , Scope scope ) { } public void unsafeRawFieldAssignment ( FieldBinding rawField , TypeBinding expressionType , ASTNode location ) { } public void unsafeRawGenericMethodInvocation ( ASTNode location , MethodBinding rawMethod ) { } public void unsafeRawInvocation ( ASTNode location , MethodBinding rawMethod ) { } public void unsafeReturnTypeOverride ( MethodBinding currentMethod , MethodBinding inheritedMethod , SourceTypeBinding type ) { } public void unsafeTypeConversion ( Expression expression , TypeBinding expressionType , TypeBinding expectedType ) { } public void unusedArgument ( LocalDeclaration localDecl ) { } public void unusedDeclaredThrownException ( ReferenceBinding exceptionType , AbstractMethodDeclaration method , ASTNode location ) { } public void unusedImport ( ImportReference importRef ) { } public void unusedLocalVariable ( LocalDeclaration localDecl ) { } public void unusedPrivateConstructor ( ConstructorDeclaration constructorDecl ) { } public void unusedPrivateField ( FieldDeclaration fieldDecl ) { } public void unusedPrivateMethod ( AbstractMethodDeclaration methodDecl ) { } public void unusedPrivateType ( TypeDeclaration typeDecl ) { } public void useAssertAsAnIdentifier ( int sourceStart , int sourceEnd ) { } public void useEnumAsAnIdentifier ( int sourceStart , int sourceEnd ) { } public void varargsArgumentNeedCast ( MethodBinding method , TypeBinding argumentType , InvocationSite location ) { } public void varargsConflict ( MethodBinding method1 , MethodBinding method2 , SourceTypeBinding type ) { } public void variableTypeCannotBeVoid ( AbstractVariableDeclaration varDecl ) { } public void variableTypeCannotBeVoidArray ( AbstractVariableDeclaration varDecl ) { } public void visibilityConflict ( MethodBinding currentMethod , MethodBinding inheritedMethod ) { } public void wildcardAssignment ( TypeBinding variableType , TypeBinding expressionType , ASTNode location ) { } public void wildcardInvocation ( ASTNode location , TypeBinding receiverType , MethodBinding method , TypeBinding [ ] arguments ) { TypeBinding offendingArgument = null ; TypeBinding offendingParameter = null ; for ( int i = 0 , length = method . parameters . length ; i < length ; i ++ ) { TypeBinding parameter = method . parameters [ i ] ; <START_BUG> if ( ( parameter . isWildcard ( ) ) && ( ( ( ( WildcardBinding ) ( parameter ) ) . kind ) != ( Wildcard . SUPER ) ) ) { <END_BUG> offendingParameter = parameter ; offendingArgument = arguments [ i ] ; break ; } } if ( method . isConstructor ( ) ) { this . handle ( IProblem . WildcardConstructorInvocation , new String [ ] { new String ( receiverType . sourceName ( ) ) , typesAsString ( method . isVarargs ( ) , method . parameters , false ) , new String ( receiverType . readableName ( ) ) , typesAsString ( false , arguments , false ) , new String ( offendingArgument . readableName ( ) ) , new String ( offendingParameter . readableName ( ) ) } , new String [ ] { new String ( receiverType . sourceName ( ) ) , typesAsString ( method . isVarargs ( ) , method . parameters , true ) , new String ( receiverType . shortReadableName ( ) ) , typesAsString ( false , arguments , true ) , new String ( offendingArgument . shortReadableName ( ) ) , new String ( offendingParameter . shortReadableName ( ) ) } , location . sourceStart , location . sourceEnd ) ; } else { this . handle ( IProblem . WildcardMethodInvocation , new String [ ] { new String ( method . selector ) , typesAsString ( method . isVarargs ( ) , method . parameters , false ) , new String ( receiverType . readableName ( ) ) , typesAsString ( false , arguments , false ) , new String ( offendingArgument . readableName ( ) ) , new String ( offendingParameter . readableName ( ) ) } , new String [ ] { new String ( method . selector ) , typesAsString ( method . isVarargs ( ) , method . parameters , true ) , new String ( receiverType . shortReadableName ( ) ) , typesAsString ( false , arguments , true ) , new String ( offendingArgument . shortReadableName ( ) ) , new String ( offendingParameter . shortReadableName ( ) ) } , location . sourceStart , location . sourceEnd ) ; } } public void wrongSequenceOfExceptionTypesError ( TryStatement statement , TypeBinding exceptionType , int under , TypeBinding hidingExceptionType ) { } }

Fix:
if ( ( parameter . isWildcard ( ) ) && ( ( ( ( WildcardBinding ) ( parameter ) ) . boundKind ) != ( Wildcard . SUPER ) ) ) {