class ForceDriver implements Driver {

    protected Properties getConnStringProperties(String url) throws IOException {
        Properties result = new Properties();
        String urlProperties = null;

        Matcher stdMatcher = URL_PATTERN.matcher(url);
        Matcher authMatcher = URL_HAS_AUTHORIZATION_SEGMENT.matcher(url);
        
        if (authMatcher.matches()) {
            urlProperties = "user=" + authMatcher.group(1) + "\npassword=" + authMatcher.group(2);
        } else if (stdMatcher.matches()) {
            urlProperties = stdMatcher.group(1);
            urlProperties = urlProperties.replaceAll(";", "\n");
        }

        if (urlProperties != null) {
            try (InputStream in = new ByteArrayInputStream(urlProperties.getBytes(StandardCharsets.UTF_8))) {
                result.load(in);
            }
        }

        return result;
    }

}