public void Destruct() { if (isDestructed) { return; } isDestructed = true; downloadQueue?.Destruct(); linker?.Destruct(); coroutineOwner?.Destruct(); downloadQueue = null; linker = null; coroutineOwner = null; errorHandler = null; }