class PageantAuthenticator extends AgentAuthenticator {

    @Override
    public Collection<Identity> getIdentities() {
        if(!PageantConnector.isConnectorAvailable()) {
            log.warn(String.format("Disabled agent %s", this));
            return Collections.emptyList();
        }
        if(null == proxy) {
            return Collections.emptyList();
        }
        if(log.isDebugEnabled()) {
            log.debug(String.format("Retrieve identities from proxy %s", proxy));
        }
        final List<Identity> identities
                = new ArrayList<Identity>();
        if(log.isDebugEnabled()) {
            log.debug(String.format("Found %d identities", identities.size()));
        }
        try {
            Collections.addAll(identities, proxy.getIdentities());
        }
        catch(Exception e) {
            log.warn(String.format("Ignore failure reading identities from %s", proxy));
        }
        return identities;
    }

    public  PageantAuthenticator();

}