code: private ParseTree parseWhileStatement() {
      SourcePosition start = getTreeStartLocation();
      eat(TokenType.WHILE);
      eat(TokenType.OPEN_PAREN);
      ParseTree condition = parseExpression();
      eat(TokenType.CLOSE_PAREN);
      ParseTree body = parseStatement();
      return new WhileStatementTree(getTreeLocation(start), condition, body);
    }
docs: 12.6.2 The while Statement