in src/main/java/org/apache/sling/discovery/commons/providers/spi/base/ClusterSyncServiceChain.java [65:84]
private void chainedSync(final BaseTopologyView view, final Runnable callback,
final Iterator<ClusterSyncService> chainIt, final long executionCnt) {
if (!chainIt.hasNext()) {
logger.debug("doSync: done with sync chain, invoking callback");
callback.run();
return;
}
ClusterSyncService next = chainIt.next();
next.sync(view, new Runnable() {
@Override
public void run() {
if (canExecute(executionCnt)) {
chainedSync(view, callback, chainIt, executionCnt);
}
}
});
canExecute(executionCnt);
}