1. mustCallSuper
void dispose()

Release the resources used by this object. The object is no longer usable after this method is called.

Source

@mustCallSuper
void dispose() {
  _completer = null;
  // We intentionally don't null out _startTime. This means that if start()
  // was ever called, the object is now in a bogus state. This weakly helps
  // catch cases of use-after-dispose.
  unscheduleTick();
}