releaseId (id) {
    // confirm if this is a valid id for this Document, else return false
    const front = this.idPrefix + (this.nonce_ ? this.nonce_ + '_' : '')
    if (typeof id !== 'string' || !id.startsWith(front)) {
      return false
    }
    // extract the obj_num of this id
    const num = Number.parseInt(id.substr(front.length))

    // if we didn't get a positive number or we already released this number
    // then return false.
    if (
      typeof num !== 'number' ||
      num <= 0 ||
      this.releasedNums.includes(num)
    ) {
      return false
    }

    // push the released number into the released queue
    this.releasedNums.push(num)

    return true
  }
Releases the object Id, letting it be used as the next id in getNextId().
This method DOES NOT remove any elements from the DOM, it is expected
that client code will do this.
@param {string} id - The id to release.
@returns {boolean} True if the id was valid to be released, false otherwise.