private AggregateClassLoader newClassLoader(Class<?> clazz, Set<Class<?>> interfaces) { Set<ClassLoader> loaders = Sets.newLinkedHashSet(); addClassLoaders(clazz, loaders); for (Class<?> iface : interfaces) { loaders.add(iface.getClassLoader()); } AggregateClassLoader aggregateClassLoader = AggregateClassLoader.newInstanceWithNoLoaders(); for (ClassLoader cl : loaders) { aggregateClassLoader.addLast(cl); } return aggregateClassLoader; }