@NotNull
  @Override
  public PsiElementVisitor buildVisitor(@NotNull ProblemsHolder holder, boolean isOnTheFly) {
    return new OptionalChainVisitor(PsiUtil.getLanguageLevel(holder.getFile())) {
      @Override
      protected void handleSimplification(@NotNull PsiMethodCallExpression call, @NotNull OptionalSimplificationFix fix) {
        PsiElement element = call.getMethodExpression().getReferenceNameElement();
        holder.registerProblem(element != null ? element : call, fix.getDescription(), fix);
      }
    };
  }
@NotNull
  @Override
  public PsiElementVisitor buildVisitor(@NotNull ProblemsHolder holder, boolean isOnTheFly)