presto-base-jdbc/src/main/java/io/prestosql/plugin/jdbc/credential/CredentialProviderModule.java/CredentialProviderModule/setup
class CredentialProviderModule:    @Override
    protected void setup(Binder binder)
    {
        configBinder(binder).bindConfig(BaseJdbcAuthenticationConfig.class);
        bindCredentialProviderModule(
                INLINE,
                internalBinder -> {
                    configBinder(internalBinder).bindConfig(CredentialConfig.class);
                    internalBinder.bind(CredentialProvider.class).annotatedWith(ForExtraCredentialProvider.class).to(ConfigFileBasedCredentialProvider.class).in(SINGLETON);
                });
        bindCredentialProviderModule(
                FILE,
                internalBinder -> {
                    configBinder(binder).bindConfig(ConfigFileBasedCredentialProviderConfig.class);
                    internalBinder.bind(CredentialProvider.class).annotatedWith(ForExtraCredentialProvider.class).toProvider(ConfigFileBasedCredentialProviderFactory.class).in(SINGLETON);
                });
        bindCredentialProviderModule(
                KEYSTORE,
                internalBinder -> {
                    configBinder(binder).bindConfig(KeyStoreBasedCredentialProviderConfig.class);
                    internalBinder.bind(CredentialProvider.class).annotatedWith(ForExtraCredentialProvider.class).toProvider(KeyStoreBasedCredentialProviderFactory.class);
                });
        binder.bind(CredentialProvider.class).to(ExtraCredentialProvider.class).in(SINGLETON);
    }