private List orderInterceptors() { if (HiveMind.isEmpty(_interceptorContributions)) return null; // Any error logging should go to the extension point // we're constructing. Log log = LogFactory.getLog(getExtensionPointId()); Orderer orderer = new Orderer(log, getModule().getErrorHandler(), ImplMessages .interceptorContribution()); Iterator i = _interceptorContributions.iterator(); while (i.hasNext()) { ServiceInterceptorContribution sic = (ServiceInterceptorContribution) i.next(); // Sort them into runtime excecution order. When we build // the interceptor stack we'll apply them in reverse order, // building outward from the core service implementation. orderer.add(sic, sic.getName(), sic.getPrecedingInterceptorIds(), sic .getFollowingInterceptorIds()); } return orderer.getOrderedObjects(); }