class PluginRealm extends AuthorizingRealm implements RealmLifecycle, ShiroAuthorizationInfoProvider {

    @Override
    public void initialize() throws Throwable
    {
        if ( authenticationPlugin != null )
        {
            authenticationPlugin.initialize( authProviderOperations );
        }
        if ( authorizationPlugin != null && authorizationPlugin != authenticationPlugin )
        {
            authorizationPlugin.initialize( authProviderOperations );
        }
        if ( authPlugin != null )
        {
            authPlugin.initialize( authProviderOperations );
        }
    }

    public  PluginRealm( Config config, SecurityLog securityLog, Clock clock, SecureHasher secureHasher );
    public  PluginRealm( AuthenticationPlugin authenticationPlugin, AuthorizationPlugin authorizationPlugin,
            Config config, SecurityLog securityLog, Clock clock, SecureHasher secureHasher );
    public  PluginRealm( AuthPlugin authPlugin, Config config, SecurityLog securityLog, Clock clock,
            SecureHasher secureHasher );

}