DefaultRepoInitFactory { OakMachine.RepoInitProcessor newInstance() { final RepoInitParser repoInitParser = newParser(); return ofNullable(repoInitParser) .map(DefaultRepoInitFactory::bindParser) .orElse(NOOP_PROCESSOR); } DefaultRepoInitFactory(final @Nullable Class<? extends RepoInitParser> parserClazz); static DefaultRepoInitFactory newFactoryInstance(final @NotNull ClassLoader parserCl); static OakMachine.RepoInitProcessor newDefaultRepoInitProcessor(
            final @NotNull ClassLoader defaultClassLoader); static OakMachine.RepoInitProcessor bindParser(final @NotNull RepoInitParser parser);  }
@Test public void testNewInstance() { assertSame("NOOP for nulls", DefaultRepoInitFactory.NOOP_PROCESSOR, new DefaultRepoInitFactory(null).newInstance()); assertNotSame("expect non-NOOP nonnulls", DefaultRepoInitFactory.NOOP_PROCESSOR, new DefaultRepoInitFactory(ParserType.class).newInstance()); }