}
public static DispatchingListener createDispatchingListener(ProviderServices providerServices) {
final Set<DispatchingListener> listeners = providerServices.getProvidersAndServices(DispatchingListener.class);
DispatchingListener dispatchingListener = listeners.isEmpty() ? EMPTY_LISTENER : new AggregatedDispatchingListener(listeners);
for(DispatchingListenerAdapter a : providerServices.getProvidersAndServices(DispatchingListenerAdapter.class)) {
dispatchingListener = a.adapt(dispatchingListener);
}