dispose method
Counts the call; then as on a real engine: queued generations end cancelled, other queued calls fail with StateError, the running generation is cancelled. Completes once the running operation has finished.
Implementation
@override
Future<void> dispose() {
disposes++;
_info = null;
return _queue.close();
}