Predicate<String> localPredicate = predicate;
if (localPredicate == null) {
localPredicate = Predicates.alwaysTrue();
}
Assert.parametersNotNull("m, predicate", m, localPredicate);
final ConfigurationBuilder conf = new ConfigurationBuilder();
conf.setScanners(new TypesScanner(), new TypeAnnotationsScanner());
final Set<URL> s = new HashSet<URL>();
s.addAll(ClasspathHelper.forClassLoader());
s.addAll(Arrays.asList(ClasspathUrlFinder.findClassPaths()));
final Iterator<URL> iterator = s.iterator();
while (iterator.hasNext()) {
final URL url = iterator.next();
if (url.getPath().endsWith("jnilib")) {
iterator.remove();
}
}
conf.setUrls(new ArrayList<URL>(s));
conf.filterInputsBy(localPredicate);
final Reflections r = new Reflections(conf);
final Set<Class<?>> entities = r.getTypesAnnotatedWith(Entity.class);
for (final Class<?> c : entities) {