code: function getFirstAndLastTokens (node, borderOffset) {
      borderOffset |= 0
  
      let firstToken = tokenStore.getFirstToken(node)
      let lastToken = tokenStore.getLastToken(node)
  
      // Get the outermost left parenthesis if it's parenthesized.
      let t, u
      while ((t = tokenStore.getTokenBefore(firstToken)) != null && (u = tokenStore.getTokenAfter(lastToken)) != null && isLeftParen(t) && isRightParen(u) && t.range[0] >= borderOffset) {
        firstToken = t
        lastToken = u
      }
  
      return { firstToken, lastToken }
    }
docs: Get the first and last tokens of the given node.
  If the node is parenthesized, this gets the outermost parentheses.
  @param {Node} node The node to get.
  @param {number} [borderOffset] The least offset of the first token. Defailt is 0. This value is used to prevent false positive in the following case: `(a) => {}` The parentheses are enclosing the whole parameter part rather than the first parameter, but this offset parameter is needed to distinguish.
  @returns {{firstToken:Token,lastToken:Token}} The gotten tokens.