class RemoteOauth2Service implements Oauth2Service {

    @Override
    public URI getAuthorizationRequestUri(Map<String, String> headers, Parameters parameters) throws IOException {
        try {
            return new URI(this.oauth2Client.getAuthorizationUrl(headers, parameters.asMap()).getHref());
        } catch (URISyntaxException e) {
            throw new IOException(e);
        }
    }

    public  RemoteOauth2Service(Oauth2Client oauth2Client);

}