class PkceOauth2Service implements Oauth2Service, PkceOauth2Extension {

    @Override
    public TokenResponse getToken(Map<String, String> headers, Parameters parameters) throws IOException {
        if (GrantType.AUTHORIZATION_CODE.toString().equals(parameters.getGrantType())) {
            parameters.setCodeVerifier(orElse(parameters.getCodeVerifier(), this.codeVerifier()));
        }
        return oauth2Service.getToken(headers, parameters);
    }

    public  PkceOauth2Service(Oauth2Service oauth2Service);

}