private boolean parseShiftExpression(boolean isTargetExpression) {
    SyntaxTreeBuilder.Marker expr = myBuilder.mark();
    if (!parseAdditiveExpression(myBuilder, isTargetExpression)) {
      expr.drop();
      return false;
    }
    while (PyTokenTypes.SHIFT_OPERATIONS.contains(myBuilder.getTokenType())) {
      myBuilder.advanceLexer();
      if (!parseAdditiveExpression(myBuilder, isTargetExpression)) {
        myBuilder.error(message("PARSE.expected.expression"));
      }
      expr.done(PyElementTypes.BINARY_EXPRESSION);
      expr = expr.precede();
    }

    expr.drop();
    return true;
  }
private boolean parseShiftExpression(boolean isTargetExpression)