@Override
    public void visitSwitchExpression(@NotNull PsiSwitchExpression expression) {
      visitSwitchBlockSelector(expression);

      PsiType expectedTypeByParent = PsiTypesUtil.getExpectedTypeByParent(expression);
      if (expectedTypeByParent != null) {
        for (PsiExpression resultExpression : PsiUtil.getSwitchResultExpressions(expression)) {
          addIfNarrowing(resultExpression, expectedTypeByParent);
        }
      }

      super.visitSwitchExpression(expression);
    }
@Override
    public void visitSwitchExpression(@NotNull PsiSwitchExpression expression)