private static final Logger LOG = LoggerFactory.getLogger(NodeRunner.class);
protected static List<Module> getBindingsModules(InstantiationService instantiationService, Module... specificModules) {
List<Module> result = Lists.newArrayList();
result.add(new GenericBindings(instantiationService));
Reflections reflections = new Reflections("org.graylog2.shared.bindings");
final Set<Class<? extends AbstractModule>> generic = reflections.getSubTypesOf(AbstractModule.class);
final Set<Class<? extends Graylog2Module>> gl2Modules = reflections.getSubTypesOf(Graylog2Module.class);
for (Class<? extends Module> type : Iterables.concat(generic, gl2Modules)) {
// skip the GenericBindings module, because we have already instantiated it above, avoids a bogus log message
if (type.equals(GenericBindings.class)) {
continue;
}