@NotNull
  private List<Pair<PsiElement, Instruction>> getBranchingPoints(@Nullable PyExpression condition) {
    final List<Pair<PsiElement, Instruction>> result = new ArrayList<>();

    if (!isConjunctionOrDisjunction(condition)) {
      // make previous instruction to be considered as a negative branching point
      result.add(Pair.create(condition, myBuilder.prevInstruction));
    }

    myBuilder.processPending((pendingScope, instruction) -> {
      if (pendingScope != null && PsiTreeUtil.isAncestor(condition, pendingScope, false)) {
        result.add(Pair.create(pendingScope, instruction));
      }
      else {
        myBuilder.addPendingEdge(pendingScope, instruction);
      }
    });
    return result;
  }
@NotNull
  private List<Pair<PsiElement, Instruction>> getBranchingPoints(@Nullable PyExpression condition)