async doDelete_(config, netEngine, bucket) {
    /** @type {!shaka.drm.DrmEngine} */
    const drmEngine = new shaka.drm.DrmEngine({
      netEngine: netEngine,
      onError: () => {},
      onKeyStatus: () => {},
      onExpirationUpdated: () => {},
      onEvent: () => {},
    });

    try {
      drmEngine.configure(config);
      await drmEngine.initForRemoval(
          bucket.info.keySystem, bucket.info.licenseUri,
          bucket.info.serverCertificate,
          bucket.info.audioCapabilities, bucket.info.videoCapabilities);
    } catch (e) {
      shaka.log.warning('Error initializing EME', e);
      await drmEngine.destroy();
      return [];
    }

    /** @type {!Array<string>} */
    const sessionIds = [];
    await Promise.all(bucket.sessionIds.map(async (sessionId) => {
      // This method is in a .map(), so this starts multiple removes at once,
      // so this removes the sessions in parallel.
      try {
        await drmEngine.removeSession(sessionId);
        sessionIds.push(sessionId);
      } catch (e) {
        shaka.log.warning('Error deleting offline session', e);
      }
    }));
    await drmEngine.destroy();
    return sessionIds;
  }
Performs the deletion of the given session IDs.

@param {shaka.extern.DrmConfiguration} config
@param {!shaka.net.NetworkingEngine} netEngine
@param {shaka.offline.SessionDeleter.Bucket_} bucket
@return {!Promise<!Array<string>>} The sessions that were deleted
@private