in pkgs/google_generative_ai/lib/src/utils/mutex.dart [39:47]
Future<Lock> acquire() {
final completer = Completer<Lock>();
_pending.add(completer);
if (_pending.length == 1) {
// Is next in line to acquire lock.
completer.complete(Lock._(this));
}
return completer.future;
}