@NotNull
  private static StreamEx<PsiElement> resolveReferenceAugAssignmentsAware(@NotNull PyReferenceOwner element,
                                                                          @NotNull PyResolveContext resolveContext,
                                                                          @NotNull Set<PyReferenceOwner> alreadyVisited) {
    alreadyVisited.add(element);
    return StreamEx.of(PyUtil.multiResolveTopPriority(element, resolveContext))
                   .filter(resolved -> resolved instanceof PyTargetExpression || !alreadyVisited.contains(resolved))
                   .flatMap(resolved -> expandResolveAugAssignments(resolved, resolveContext, alreadyVisited))
                   .distinct();
  }
@NotNull
  private static StreamEx<PsiElement> resolveReferenceAugAssignmentsAware(@NotNull PyReferenceOwner element,
                                                                          @NotNull PyResolveContext resolveContext,
                                                                          @NotNull Set<PyReferenceOwner> alreadyVisited)