static void populateFirstLevelCache(final Map<EfestoClassKey, List<KieRuntimeService>> toPopulate) {
        List<KieRuntimeService> discoveredKieRuntimeServices = getDiscoveredKieRuntimeServices();
        populateFirstLevelCache(discoveredKieRuntimeServices, toPopulate);
    }
@Test
    void populateFirstLevelCache() {
        List<KieRuntimeService> discoveredKieRuntimeServices = Arrays.asList(kieRuntimeServiceA, kieRuntimeServiceB,
                                                                             kieRuntimeServiceC,
                                                                             kieRuntimeServiceA_cloned);
        final Map<EfestoClassKey, List<KieRuntimeService>> toPopulate = new HashMap<>();
        RuntimeManagerUtils.populateFirstLevelCache(discoveredKieRuntimeServices, toPopulate);
        assertThat(toPopulate).hasSize(2);
        assertThat(toPopulate).containsKeys(efestoClassKeyA, efestoClassKeyB, efestoClassKeyC); // efestoClassKeyA and efestoClassKeyB  are equals
        List<KieRuntimeService> servicesA = toPopulate.get(efestoClassKeyA);
        List<KieRuntimeService> servicesB = toPopulate.get(efestoClassKeyB);
        assertThat(servicesA).isEqualTo(servicesB);
        assertThat(servicesA).hasSize(3);
        assertThat(servicesA).contains(kieRuntimeServiceA, kieRuntimeServiceB, kieRuntimeServiceA_cloned);
        List<KieRuntimeService> servicesC = toPopulate.get(efestoClassKeyC);
        assertThat(servicesC).containsExactly(kieRuntimeServiceC);
    }