@Override
  @NotNull
  default List<PsiNamedElement> getNamedElements() {
    // extract whatever names are defined in "for" components
    List<? extends PyComprehensionForComponent> fors = getForComponents();
    PyAstExpression[] for_targets = new PyAstExpression[fors.size()];
    int i = 0;
    for (PyComprehensionForComponent for_comp : fors) {
      for_targets[i] = for_comp.getIteratorVariable();
      i += 1;
    }
    final List<PyAstExpression> expressions = PyUtilCore.flattenedParensAndLists(for_targets);
    final List<PsiNamedElement> results = new ArrayList<>();
    for (PyAstExpression expression : expressions) {
      if (expression instanceof PsiNamedElement) {
        results.add((PsiNamedElement)expression);
      }
    }
    return results;
  }
@Override
  @NotNull
  default List<PsiNamedElement> getNamedElements()