_onQueueDrain() {
    if (
      this._state.finalizing ||
      this._state.finalized ||
      this._state.aborted
    ) {
      return;
    }
    if (
      this._state.finalize &&
      this._pending === 0 &&
      this._queue.idle() &&
      this._statQueue.idle()
    ) {
      this._finalize();
    }
  }
Checks the various state variables after queue has drained to determine if
we need to `finalize`.

@private
@return void