public CombinedServiceDiscovery(List<ServiceDiscovery> delegates) {
        this.delegates = Collections.unmodifiableList(delegates);
    }
@Test
    public void testCombinedServiceDiscovery() {
        StaticServiceDiscovery discovery1 = new StaticServiceDiscovery();
        discovery1.addServer(new DefaultServiceDefinition("discovery1", "localhost", 1111));
        discovery1.addServer(new DefaultServiceDefinition("discovery1", "localhost", 1112));

        StaticServiceDiscovery discovery2 = new StaticServiceDiscovery();
        discovery2.addServer(new DefaultServiceDefinition("discovery1", "localhost", 1113));
        discovery2.addServer(new DefaultServiceDefinition("discovery2", "localhost", 1114));

        CombinedServiceDiscovery discovery = CombinedServiceDiscovery.wrap(discovery1, discovery2);
        assertEquals(3, discovery.getServices("discovery1").size());
        assertEquals(1, discovery.getServices("discovery2").size());
    }