private static @NotNull List<Usage> getFormatUsages(@NotNull Symbol symbol,
                                                      @NotNull PsiExpression expression,
                                                      @NotNull PsiExpression arg,
                                                      @NotNull Function<? super PsiLiteralExpression, ? extends Iterable<? extends PsiSymbolReference>> function) {
    return SyntaxTraverser.psiTraverser(expression)
      .traverse()
      .filter(PsiLiteralExpression.class)
      .flatMap(function)
      .filter(ref -> ref.resolvesTo(symbol))
      .<Usage>map(PsiUsage::textUsage)
      .append(List.of(new PsiElementUsage(arg)))
      .toList();
  }
private static @NotNull List<Usage> getFormatUsages(@NotNull Symbol symbol,
                                                      @NotNull PsiExpression expression,
                                                      @NotNull PsiExpression arg,
                                                      @NotNull Function<? super PsiLiteralExpression, ? extends Iterable<? extends PsiSymbolReference>> function)