class OAuth2CredentialProvider extends BaseCredentialProvider {

    @Override
    public AcquisitionMethod acquisitionMethod() {
        return new AcquisitionMethod.Builder()
            .label(labelFor(id))
            .icon(iconFor(id))
            .type(Type.OAUTH2)
            .description(descriptionFor(id))
            .configured(configured)
            .build();
    }

    public  OAuth2CredentialProvider(final String id);
    public  OAuth2CredentialProvider(final String id, final OAuth2ConnectionFactory<S> connectionFactory, final Applicator<AccessGrant> applicator,
        final Map<String, String> additionalQueryParameters);
    private  OAuth2CredentialProvider(final String id, final OAuth2ConnectionFactory<S> connectionFactory, final Applicator<AccessGrant> applicator,
        final Map<String, String> additionalQueryParameters, final boolean configured);

}