### Question:
CodestartCatalogLoader { public static List<Codestart> loadCodestarts(CodestartPathLoader pathLoader, String first, String... more) throws IOException { final List<Codestart> codestarts = new ArrayList<>(loadCodestarts(pathLoader, first)); if (more != null) { for (String subDir : more) { codestarts.addAll(loadCodestarts(pathLoader, subDir)); } } return codestarts; } private  CodestartCatalogLoader(); static CodestartCatalog<CodestartProjectInput> loadDefaultCatalog(CodestartPathLoader pathLoader,
            String first,
            String... more); static Collection<Codestart> loadUserDirectoryCodestarts(Path directory); static List<Codestart> loadCodestarts(CodestartPathLoader pathLoader, String first, String... more);  }### Answer:
@Test void testLoadCodestartsFail() throws IOException { assertThatExceptionOfType(CodestartStructureException.class) .isThrownBy(() -> CodestartCatalogLoader.loadCodestarts(resourceLoader, "codestarts-with-error-1")) .withMessageContaining("codestart-1"); assertThatExceptionOfType(CodestartStructureException.class) .isThrownBy(() -> CodestartCatalogLoader.loadCodestarts(resourceLoader, "codestarts-with-error-2")) .withMessageContaining("codestart-2"); assertThatExceptionOfType(CodestartStructureException.class) .isThrownBy(() -> CodestartCatalogLoader.loadCodestarts(resourceLoader, "codestarts-with-error-3")) .withMessageContaining("codestart-3"); }