/** * Starts an API call chain to override an array of Modules. * * @param overriddenTypes an array of modules whose bindings should be overridden. * @return {@link BQModuleOverrideBuilder} object to specify a Module * overriding other modules. */ public BQModuleOverrideBuilder<T> override(Class<? extends Module>... overriddenTypes) { BQModuleOverrideBuilder<Bootique> subBuilder = bootique.override(overriddenTypes); return new BQModuleOverrideBuilder<T>() { @Override public T with(Class<? extends Module> moduleType) { subBuilder.with(moduleType); return (T) BQTestRuntimeBuilder.this; } @Override public T with(Module module) { subBuilder.with(module); return (T) BQTestRuntimeBuilder.this; } }; }