private ParseTree parseConditional(Expression expressionIn) {
    SourcePosition start = getTreeStartLocation();
    ParseTree condition = parseLogicalOR(expressionIn);
    if (peek(TokenType.QUESTION)) {
      eat(TokenType.QUESTION);
      ParseTree left = parseAssignment(expressionIn);
      eat(TokenType.COLON);
      ParseTree right = parseAssignment(expressionIn);
      return new ConditionalExpressionTree(
          getTreeLocation(start), condition, left, right);
    }
    return condition;
  }
private ParseTree parseConditional ( Expression expressionIn ) { SourcePosition start = getTreeStartLocation ( ) ; ParseTree condition = parseLogicalOR ( expressionIn ) ; if ( peek ( TokenType . QUESTION ) ) { eat ( TokenType . QUESTION ) ; ParseTree left = parseAssignment ( expressionIn ) ; eat ( TokenType . COLON ) ; ParseTree right = parseAssignment ( expressionIn ) ; return new ConditionalExpressionTree ( getTreeLocation ( start ) , condition , left , right ) ; } return condition ; }
11.12 Conditional Expression