this is likely going to be a thin wrapper around latches from the java.util.concurrent lib, but which simplifies the programming interface for the developer that wants to enable conconcurrent, latched execution of services.
rev883 - controller framework for executing services concurrently which respects service dependencies; service dependencies need to be contructed properly by the calling context; handles errors by bubbling it up the dependency chain and won't attempt to execute services whose dependencies have already failed;
rev889 - add checked against circular dependencies amongst latched services; without this check, executeServices would have blocked forever since all services would block on their private dependencyLatch forever; all wrote test harness to make sure circular check works properly against all different sorts of dependency graphs, including self-circularities;
closing this code-level item, no qa necessary.
This bug was previously known as http://jira.rhq-project.org/browse/RHQ-525