@NotNull
  private List<RatedResolveResult> calculateMultiResolveName(@NotNull String name) {
    final PsiElement parent = getParentByStub();
    if (parent instanceof PyFromImportStatement fromImportStatement) {
      final List<PsiElement> importedFiles = fromImportStatement.resolveImportSourceCandidates();
      for (PsiElement importedFile : new HashSet<>(importedFiles)) { // resolver gives lots of duplicates
        final PyFile sourceFile = as(PyUtil.turnDirIntoInit(importedFile), PyFile.class);
        if (sourceFile != null && PyUtil.isStarImportableFrom(name, sourceFile)) {
          final PyModuleType moduleType = new PyModuleType(sourceFile);
          final var context = TypeEvalContext.codeInsightFallback(sourceFile.getProject());
          final List<? extends RatedResolveResult> results = moduleType.resolveMember(name, null, AccessDirection.READ,
                                                                                      PyResolveContext.defaultContext(context));
          if (!ContainerUtil.isEmpty(results)) {
            return Lists.newArrayList(results);
          }
        }
      }
    }
    return Collections.emptyList();
  }
@NotNull
  private List<RatedResolveResult> calculateMultiResolveName(@NotNull String name)