void (@NotNull PsiPattern pattern, @NotNull PsiInstanceOfExpression expression, @NotNull PsiType checkType) { boolean potentiallyRedundantInstanceOf = pattern instanceof PsiTypeTestPattern || JavaPsiPatternUtil.skipParenthesizedPatternDown(pattern) instanceof PsiTypeTestPattern || pattern instanceof PsiDeconstructionPattern dec && JavaPsiPatternUtil.hasUnconditionalComponents(dec); DfaAnchor instanceofAnchor = potentiallyRedundantInstanceOf ? new JavaExpressionAnchor(expression) : null; DeferredOffset endPatternOffset = new DeferredOffset(); processPattern(pattern, pattern, checkType, instanceofAnchor, endPatternOffset); endPatternOffset.setOffset(getInstructionCount()); if (!potentiallyRedundantInstanceOf) { addInstruction(new ResultOfInstruction(new JavaExpressionAnchor(expression))); } }