@Override public void visitVariable(@NotNull PsiVariable variable) {
      PsiExpression initializer = deparenthesizeExpression(variable.getInitializer());
      // Do not read variable type if initializer is not a cast
      // Variable could be a lambda parameter where there's no initializer but it's hard to determine its type
      if (initializer instanceof PsiTypeCastExpression) {
        processTypeCastWithExpectedType(initializer, variable.getType());
      }
      super.visitVariable(variable);
    }
@Override public void visitVariable(@NotNull PsiVariable variable)