@Override
    public void processResource(EfestoCompilationContext context, EfestoResource... toProcess) {
        for (EfestoResource efestoResource : toProcess) {
            processResourceWithContext(efestoResource, context);
        }
    }
@Test
    void processResource() {
        EfestoCompilationContext context = EfestoCompilationContextUtils.buildWithParentClassLoader(CompilationManager.class.getClassLoader());
        MANAGED_Efesto_RESOURCES.forEach(managedResource -> {
            IndexFile indexFile = null;
            try {
                AbstractMockOutput toProcess = managedResource.getDeclaredConstructor().newInstance();
                compilationManager.processResource(context, toProcess);
                assertThat(context.getGeneratedResourcesMap()).hasSize(1);

                // This test repeatedly overwrites context.generatedResourcesMap
                Map<String, IndexFile> indexFiles = context.createIndexFiles(TARGET_TEST_CLASSES_DIRECTORY);
                assertThat(indexFiles).hasSize(1);
                indexFile = indexFiles.get("mock");
                assertThat(indexFile).exists();
            } catch (Exception e) {
                fail(e);
            } finally {
                if (indexFile != null) {
                    indexFile.delete();
                }
            }
        });

        EfestoCompilationContext newContext = EfestoCompilationContextUtils.buildWithParentClassLoader(CompilationManager.class.getClassLoader());
        compilationManager.processResource(newContext, new MockEfestoRedirectOutputD());
        assertThat(newContext.getGeneratedResourcesMap()).isEmpty();
        Map<String, IndexFile> indexFiles = newContext.createIndexFiles(TARGET_TEST_CLASSES_DIRECTORY);
        assertThat(indexFiles).isEmpty();
    }