@Override
    public Collection<Identity> getIdentities() {
        if(null == proxy) {
            log.warn("Missing proxy reference");
            return Collections.emptyList();
        }
        if(log.isDebugEnabled()) {
            log.debug(String.format("Retrieve identities from proxy %s", proxy));
        }
        final List<Identity> identities = new ArrayList<Identity>();
        try {
            Collections.addAll(identities, proxy.getIdentities());
            if(log.isDebugEnabled()) {
                log.debug(String.format("Found %d identities", identities.size()));
            }
        }
        catch(Exception e) {
            log.warn(String.format("Ignore failure reading identities from %s", proxy));
        }
        return identities;
    }
@Test
    public void testGetIdentities() {
        final PageantAuthenticator authenticator = new PageantAuthenticator();
        final Collection<Identity> identities = authenticator.getIdentities();
        switch(Factory.Platform.getDefault()) {
            case windows:
                assertNotNull(authenticator.getProxy());
                break;
            default:
                assertNull(authenticator.getProxy());
                assertTrue(identities.isEmpty());
                break;
        }
    }