@NotNull
  private static List<String> getImplementationNames(@NotNull List<? extends PsiProvidesStatement> statements) {
    return StreamEx.of(statements)
      .map(PsiProvidesStatement::getImplementationList)
      .nonNull()
      .flatMap(implementationList -> Arrays.stream(implementationList.getReferenceElements()))
      .nonNull()
      .map(PsiJavaCodeReferenceElement::getQualifiedName)
      .nonNull()
      .toList();
  }
@NotNull
  private static List<String> getImplementationNames(@NotNull List<? extends PsiProvidesStatement> statements)