class HaloAuthenticator implements Authenticator {

    @NonNull
    public synchronized Credentials getCredentials() {
        Credentials credentials;
        if (mUserCredentials != null) {
            credentials = mUserCredentials;
        } else {
            credentials = mClientCredentials;
        }
        return credentials;
    }

    public  HaloAuthenticator(@NonNull HaloFramework framework,
                             @NonNull HaloManagerApi managerApi,
                             @NonNull HaloSessionManager sessionManager,
                             @NonNull Credentials credentials);

}