This rule is defined by the following XPath expression:
//Expression [ConditionalOrExpression [EqualityExpression[@Image='=='] //NullLiteral and UnaryExpressionNotPlusMinus [@Image='!']//InstanceOfExpression[PrimaryExpression //Name/@Image = ancestor::ConditionalOrExpression/EqualityExpression /PrimaryExpression/PrimaryPrefix/Name/@Image]] or ConditionalAndExpression [EqualityExpression[@Image='!=']//NullLiteral and InstanceOfExpression [PrimaryExpression[count(PrimarySuffix[@ArrayDereference='true'])=0] //Name/@Image = ancestor::ConditionalAndExpression /EqualityExpression/PrimaryExpression/PrimaryPrefix/Name/@Image]]]
Example:
class Foo { void bar(Object x) { if (x != null && x instanceof Bar) { // just drop the "x != null" check } } }