in lib/pool.dart [275:290]
void _onResourceReleaseAllowed(Function() onRelease) {
_resetTimer();
if (_requestedResources.isNotEmpty) {
var pending = _requestedResources.removeFirst();
pending.complete(_runOnRelease(onRelease));
} else if (isClosed) {
_closeGroup!.add(Future.sync(onRelease));
_allocatedResources--;
if (_allocatedResources == 0) _closeGroup!.close();
} else {
var zone = Zone.current;
var registered = zone.registerCallback(onRelease);
_onReleaseCallbacks.add(() => zone.run(registered));
}
}