Buggy code:
public static final long Bit36L = 34359738368L ; public static final long Bit37L = 68719476736L ; public static final long Bit38L = 137438953472L ; public static final long Bit39L = 274877906944L ; public static final long Bit40L = 549755813888L ; public int bits = ASTNode . IsReachableMASK ; public static final int ReturnTypeIDMASK = ( ( ( ASTNode . Bit1 ) | ( ASTNode . Bit2 ) ) | ( ASTNode . Bit3 ) ) | ( ASTNode . Bit4 ) ; public static final int OperatorSHIFT = 6 ; public static final int OperatorMASK = ( ( ( ( ( ASTNode . Bit7 ) | ( ASTNode . Bit8 ) ) | ( ASTNode . Bit9 ) ) | ( ASTNode . Bit10 ) ) | ( ASTNode . Bit11 ) ) | ( ASTNode . Bit12 ) ; public static final int ValueForReturnMASK = ASTNode . Bit5 ; public static final int OnlyValueRequiredMASK = ASTNode . Bit6 ; public static final int UnnecessaryCastMask = ASTNode . Bit15 ; public static final int NeedRuntimeCheckCastMASK = ASTNode . Bit7 ; public static final int IgnoreNeedForCastCheckMASK = ASTNode . Bit6 ; public static final int RestrictiveFlagMASK = ( ( ASTNode . Bit1 ) | ( ASTNode . Bit2 ) ) | ( ASTNode . Bit3 ) ; public static final int FirstAssignmentToLocalMASK = ASTNode . Bit4 ; public static final int IsImplicitThisMask = ASTNode . Bit3 ; public static final int DepthSHIFT = 5 ; public static final int DepthMASK = ( ( ( ( ( ( ( ASTNode . Bit6 ) | ( ASTNode . Bit7 ) ) | ( ASTNode . Bit8 ) ) | ( ASTNode . Bit9 ) ) | ( ASTNode . Bit10 ) ) | ( ASTNode . Bit11 ) ) | ( ASTNode . Bit12 ) ) | ( ASTNode . Bit13 ) ; public static final int IsReachableMASK = ASTNode . Bit32 ; public static final int IsLocalDeclarationReachableMASK = ASTNode . Bit31 ; public static final int AddAssertionMASK = ASTNode . Bit1 ; public static final int IsLocalTypeMASK = ASTNode . Bit9 ; public static final int IsAnonymousTypeMASK = ASTNode . Bit10 ; public static final int AnonymousAndLocalMask = ( ASTNode . IsAnonymousTypeMASK ) | ( ASTNode . IsLocalTypeMASK ) ; public static final int IsMemberTypeMASK = ASTNode . Bit11 ; public static final int HasLocalTypeMASK = ASTNode . Bit2 ; public static final int ParenthesizedSHIFT = 21 ; public static final int ParenthesizedMASK = ( ( ( ( ( ( ( ASTNode . Bit22 ) | ( ASTNode . Bit23 ) ) | ( ASTNode . Bit24 ) ) | ( ASTNode . Bit25 ) ) | ( ASTNode . Bit26 ) ) | ( ASTNode . Bit27 ) ) | ( ASTNode . Bit28 ) ) | ( ASTNode . Bit29 ) ; public static final int IsAssignmentWithNoEffectMASK = ASTNode . Bit30 ; public static final int IsStrictlyAssignedMASK = ASTNode . Bit14 ; public static final int IsCompoundAssignedMASK = ASTNode . Bit17 ; public static final int IsUsefulEmptyStatementMASK = ASTNode . Bit1 ; public static final int UndocumentedEmptyBlockMASK = ASTNode . Bit4 ; public static final int HasAllMethodBodies = ASTNode . Bit5 ; public static final int InsideJavadoc = ASTNode . Bit16 ; public static final int IsElseIfStatement = ASTNode . Bit30 ; public static final int IsSuperType = ASTNode . Bit5 ; public ASTNode ( ) { } public static void checkInvocationArguments ( BlockScope scope , Expression receiver , TypeBinding receiverType , MethodBinding method , Expression [ ] arguments , TypeBinding [ ] argumentTypes , boolean argsContainCast , InvocationSite invocationSite ) { boolean unsafeWildcardInvocation = false ; for ( int i = 0 ; i < ( arguments . length ) ; i ++ ) { TypeBinding parameterType = method . parameters [ i ] ; TypeBinding argumentType = argumentTypes [ i ] ; arguments [ i ] . computeConversion ( scope , parameterType , argumentType ) ; if ( ( ( argumentType != ( NullBinding ) ) && ( parameterType . isWildcard ( ) ) ) && ( ( ( ( WildcardBinding ) ( parameterType ) ) . kind ) != ( Wildcard . SUPER ) ) ) { unsafeWildcardInvocation = true ; } else <START_BUG> if ( ( ( argumentType != parameterType ) && ( argumentType . isRawType ( ) ) ) && ( ( parameterType . isParameterizedType ( ) ) || ( parameterType . isGenericType ( ) ) ) ) { <END_BUG> scope . problemReporter ( ) . unsafeRawConversion ( arguments [ i ] , argumentType , parameterType ) ; } } if ( argsContainCast ) { CastExpression . checkNeedForArgumentCasts ( scope , receiver , receiverType , method , arguments , argumentTypes , invocationSite ) ; } if ( unsafeWildcardInvocation ) { scope . problemReporter ( ) . wildcardInvocation ( ( ( ASTNode ) ( invocationSite ) ) , receiverType , method , argumentTypes ) ; } else if ( ( receiverType . isRawType ( ) ) && ( method . hasSubstitutedParameters ( ) ) ) { scope . problemReporter ( ) . unsafeRawInvocation ( ( ( ASTNode ) ( invocationSite ) ) , receiverType , method ) ; } } public ASTNode concreteStatement ( ) { } public final boolean isFieldUseDeprecated ( FieldBinding field , Scope scope , boolean isStrictlyAssigned ) { } public boolean isImplicitThis ( ) { } public final boolean isMethodUseDeprecated ( MethodBinding method , Scope scope ) { } public boolean isSuper ( ) { } public boolean isThis ( ) { } public final boolean isTypeUseDeprecated ( TypeBinding type , Scope scope ) { } public abstract StringBuffer print ( int indent , StringBuffer output ) { } public static StringBuffer printIndent ( int indent , StringBuffer output ) { } public static StringBuffer printModifiers ( int modifiers , StringBuffer output ) { } public int sourceStart ( ) { } public int sourceEnd ( ) { } public String toString ( ) { }

Fix:
if ( ( ( argumentType != parameterType ) && ( argumentType . isRawType ( ) ) ) && ( ( parameterType . isBoundParameterizedType ( ) ) || ( parameterType . isGenericType ( ) ) ) ) {