integration-faces/src/main/java/org/ocpsoft/rewrite/faces/FacesRewriteLifecycleListener.java
private List<DispatcherTypeProvider> getDispatcherTypeProviders()
   {
      List<DispatcherTypeProvider> result = dispatcherTypeProviders;
      if (result == null) {
         synchronized(this) {
            result = dispatcherTypeProviders;
            if (result == null) {
               result = Iterators.asList(ServiceLoader.loadTypesafe(DispatcherTypeProvider.class).iterator());
               Collections.sort(result, new WeightedComparator());
               dispatcherTypeProviders = result;
            }
         }
      }
      return result;
   }
private List<DispatcherTypeProvider> getDispatcherTypeProviders()
   {
      List<DispatcherTypeProvider> result = dispatcherTypeProviders;
      if (result == null) {
         synchronized(this) {
            result = dispatcherTypeProviders;
            if (result == null) {
               result = Iterators.asList(ServiceLoader.loadTypesafe(DispatcherTypeProvider.class).iterator());
               Collections.sort(result, new WeightedComparator());
               dispatcherTypeProviders = result;
            }
         }
      }
      return result;
   }
Returns the list of {@link DispatcherTypeProvider} implementations.