public synchronized void noMoreDrivers(Lifespan lifespan) { if (closedLifespans.contains(lifespan)) { return; } encounteredLifespans.add(lifespan); closedLifespans.add(lifespan); for (OperatorFactory operatorFactory : operatorFactories) { operatorFactory.noMoreOperators(lifespan); } }
public synchronized void noMoreDrivers() { if (closed) { return; } if (encounteredLifespans.size() != closedLifespans.size()) { Sets.difference(encounteredLifespans, closedLifespans).forEach(this::noMoreDrivers); verify(encounteredLifespans.size() == closedLifespans.size()); } closed = true; for (OperatorFactory operatorFactory : operatorFactories) { operatorFactory.noMoreOperators(); } } }