private void internalRequireService( ServiceSpecification spec, Collection<Service> servicePool, ServiceProvider provider) { if (specIsIn(spec, servicePool)) { return; } // check for native provider Service service = null; try { service = bootstrap.getContainer().provideService(spec); } catch (ServiceNotAvailableException e) { // log ? } if (service == null && provider != null) { service = provider.provide(spec); } if (service == null) { throw new ServiceNotAvailableException(spec.getServiceContractType().getName()); } servicePool.add(service); }