private void processPatternInInstanceof(@NotNull PsiPattern pattern, @NotNull PsiInstanceOfExpression expression,
                                          @NotNull PsiType checkType) {
    boolean potentiallyRedundantInstanceOf = 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)));
    }
  }
private void processPatternInInstanceof(@NotNull PsiPattern pattern, @NotNull PsiInstanceOfExpression expression,
                                          @NotNull PsiType checkType)