class Service extends OAuth20Service {
        public Service(DefaultApi20 api, String apiKey, String apiSecret, String callback, String defaultScope, String responseType,
                OutputStream debugStream, String userAgent, HttpClientConfig httpClientConfig, HttpClient httpClient) {
            super(api, apiKey, apiSecret, callback, defaultScope, responseType, debugStream, userAgent, httpClientConfig, httpClient);
        }

        @Override
        protected OAuthRequest createAccessTokenRequest(AccessTokenRequestParams params) {
            val request = super.createAccessTokenRequest(params);
            request.addParameter(OAuthConstants.CLIENT_ID, getApiKey());
            request.addParameter(OAuthConstants.CLIENT_SECRET, getApiSecret());
            return request;
        }
    }

    /** {@inheritDoc} */
    @Override
    public OAuth20Service createService(String apiKey, String apiSecret, String callback, String defaultScope, String responseType,
            OutputStream debugStream, String userAgent, HttpClientConfig httpClientConfig, HttpClient httpClient) {<FILL_FUNCTION_BODY>

        return new Service(this, apiKey, apiSecret, callback, defaultScope, responseType, debugStream, userAgent, httpClientConfig,
                httpClient);
    
<methods>public void <init>() ,public com.github.scribejava.core.oauth.OAuth20Service createService(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.io.OutputStream, java.lang.String, com.github.scribejava.core.httpclient.HttpClientConfig, com.github.scribejava.core.httpclient.HttpClient) ,public abstract java.lang.String getAccessTokenEndpoint() ,public TokenExtractor<com.github.scribejava.core.model.OAuth2AccessToken> getAccessTokenExtractor() ,public com.github.scribejava.core.model.Verb getAccessTokenVerb() ,public java.lang.String getAuthorizationUrl(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, Map<java.lang.String,java.lang.String>) ,public com.github.scribejava.core.oauth2.bearersignature.BearerSignature getBearerSignature() ,public com.github.scribejava.core.oauth2.clientauthentication.ClientAuthentication getClientAuthentication() ,public java.lang.String getDeviceAuthorizationEndpoint() ,public com.github.scribejava.core.extractors.DeviceAuthorizationJsonExtractor getDeviceAuthorizationExtractor() ,public java.lang.String getRefreshTokenEndpoint() ,public java.lang.String getRevokeTokenEndpoint() <variables>