@Nullable
  default PyAstExpression getOppositeExpression(PyAstExpression expression) throws IllegalArgumentException {
    PyAstExpression right = getRightExpression();
    PyAstExpression left = getLeftExpression();
    if (expression.equals(left)) {
      return right;
    }
    if (expression.equals(right)) {
      return left;
    }
    throw new IllegalArgumentException("expression " + expression + " is neither left exp or right exp");
  }
@Nullable
  default PyAstExpression getOppositeExpression(PyAstExpression expression)