@Override
    public void processResource(EfestoCompilationContext context, EfestoResource... toProcess) {
        for (EfestoResource efestoResource : toProcess) {
            processResourceWithContext(efestoResource, context);
        }
    }
@Test
    void processResources() {
        EfestoCompilationContext context = EfestoCompilationContextUtils.buildWithParentClassLoader(CompilationManager.class.getClassLoader());
        List<AbstractMockOutput> toProcess = new ArrayList<>();
        MANAGED_Efesto_RESOURCES.forEach(managedResource -> {
            try {
                AbstractMockOutput toAdd = managedResource.getDeclaredConstructor().newInstance();
                toProcess.add(toAdd);
            } catch (Exception e) {
                fail(e);
            }
        });
        toProcess.add(new MockEfestoRedirectOutputD());
        compilationManager.processResource(context, toProcess.toArray(new EfestoResource[0]));
        assertThat(context.getGeneratedResourcesMap()).hasSize(1);

        IndexFile indexFile = null;
        try {
            Map<String, IndexFile> indexFiles = context.createIndexFiles(TARGET_TEST_CLASSES_DIRECTORY);
            assertThat(indexFiles).hasSize(1);
            indexFile = indexFiles.get("mock");
            assertThat(indexFile).exists();
        } finally {
            if (indexFile != null) {
                indexFile.delete();
            }
        }
    }