private static void collectExpressionsDfs(@NotNull ArrayList<PyExpression> elements,
                                            @NotNull ArrayList<String> operators,
                                            @NotNull PyBinaryExpression expression) {
    final PyExpression rightExpr = expression.getRightExpression();
    if (rightExpr instanceof PyBinaryExpression && isComparisonExpression(rightExpr)) {
      collectExpressionsDfs(elements, operators, (PyBinaryExpression)rightExpr);
    }
    else {
      elements.add(rightExpr);
    }
    if (expression.getPsiOperator() != null) {
      operators.add(expression.getPsiOperator().getText());
    }
    final PyExpression leftExpr = expression.getLeftExpression();
    if (leftExpr instanceof PyBinaryExpression && isComparisonExpression(leftExpr)) {
      collectExpressionsDfs(elements, operators, (PyBinaryExpression)leftExpr);
    }
    else {
      elements.add(leftExpr);
    }
  }
private static void collectExpressionsDfs(@NotNull ArrayList<PyExpression> elements,
                                            @NotNull ArrayList<String> operators,
                                            @NotNull PyBinaryExpression expression)