static void processResources(KieCompilerService kieCompilerService, EfestoResource toProcess, EfestoCompilationContext context) {
        List<EfestoCompilationOutput> efestoCompilationOutputList = kieCompilerService.processResource(toProcess, context);
        for (EfestoCompilationOutput compilationOutput : efestoCompilationOutputList) {
            if (compilationOutput instanceof EfestoCallableOutput) {
                populateContext(context, (EfestoCallableOutput) compilationOutput);
                if (compilationOutput instanceof EfestoCallableOutputClassesContainer) {
                    EfestoCallableOutputClassesContainer classesContainer =
                            (EfestoCallableOutputClassesContainer) compilationOutput;
                    context.loadClasses(classesContainer.getCompiledClassesMap());
                    context.addGeneratedClasses(classesContainer.getModelLocalUriId().asModelLocalUriId(),
                                                classesContainer.getCompiledClassesMap());
                }
            } else if (compilationOutput instanceof EfestoResource) {
                processResourceWithContext((EfestoResource) compilationOutput, context);
            }
        }
    }
@Test
    void processResourcesWithoutRedirect() {
        KieCompilerService kieCompilerServiceMock = mock(MockKieCompilerServiceE.class);
        EfestoResource toProcess = new MockEfestoRedirectOutputE();
        EfestoCompilationContext context =
                EfestoCompilationContextUtils.buildWithParentClassLoader(Thread.currentThread().getContextClassLoader());
        CompilationManagerUtils.processResources(kieCompilerServiceMock, toProcess, context);
        verify(kieCompilerServiceMock, times(1)).processResource(toProcess, context);
    }