public <T> T lookup(Class<T> clazz) { for (LookupProvider lp : lookupProviders) { T result = lp.lookup(clazz); if (result != null) return result; } return null; }
@Override public <T> Collection<T> lookupAll(Class<T> clazz) { ArrayList<T> result = new ArrayList<T>(); for (LookupProvider lp : lookupProviders) { result.addAll(lp.lookupAll(clazz)); } return result; }