@Override
    public Proxy find(final String target) {
        final String route = this.findNative(target);
        if(null == route) {
            if(log.isInfoEnabled()) {
                log.info(String.format("No proxy configuration found for target %s", target));
            }
            // Direct
            return Proxy.DIRECT;
        }
        final URI proxy;
        try {
            proxy = new URI(route);
            try {
                // User info is never populated. Would have to lookup in keychain but we are unaware of the username
                return new Proxy(Proxy.Type.valueOf(StringUtils.upperCase(proxy.getScheme())),
                        proxy.getHost(), proxy.getPort());
            }
            catch(IllegalArgumentException e) {
                log.warn(String.format("Unsupported scheme for proxy %s", proxy));
            }
        }
        catch(URISyntaxException e) {
            log.warn(String.format("Invalid proxy configuration %s", route));
        }
        return Proxy.DIRECT;
    }
@Test
    public void testExcludedLocalHost() {
        final SystemConfigurationProxy proxy = new SystemConfigurationProxy();
        assertEquals(Proxy.Type.DIRECT, proxy.find("http://cyberduck.local").getType());
    }