dispose method
Used to clear and dispose object. After this method call is object typically unusable and ready for GC. Can be called multiple times!
Implementation
@override
void dispose() {
super.dispose();
_toDispose.forEach((element) => element.dispose());
_toDispose.clear();
}