code: private ParseTree parseShiftExpression() {
      SourcePosition start = getTreeStartLocation();
      ParseTree left = parseAdditiveExpression();
      while (peekShiftOperator()) {
        Token operator = nextToken();
        ParseTree right = parseAdditiveExpression();
        left = new BinaryOperatorTree(getTreeLocation(start), left, operator, right);
      }
      return left;
    }
docs: 11.7 Shift Expression