@Override
    public Addresses loadAddresses(ClientConnectionProcessListenerRegistry listenerRunner) throws Exception {
        response = discovery.discoverNodes();
        List<Address> addresses = response.getPrivateMemberAddresses();
        listenerRunner.onPossibleAddressesCollected(addresses);
        return new Addresses(addresses);
    }
@Test(expected = IllegalStateException.class)
    public void testLoadAddresses_whenExceptionIsThrown() throws Exception {
        ViridianAddressProvider provider = new ViridianAddressProvider(createBrokenDiscovery());
        provider.loadAddresses(createListenerRunner());
    }