class SmartReceiptsAuthenticationProvider extends AWSAbstractCognitoDeveloperIdentityProvider {

    @Override
    public String refresh() {
        Logger.info(this, "Refreshing Cognito Token");
        // Null out our token
        setToken(null);

        final Cognito cognito = cognitoIdentityProvider.synchronouslyRefreshCognitoToken();
        Logger.debug(this, "Refreshed cognito token is null? {}", cognito == null);

        final String identityId = cognito != null ? cognito.getIdentityId() : null;
        final String token = cognito != null ? cognito.getCognitoToken() : null;

        update(identityId, token);

        return token;
    }

    public  SmartReceiptsAuthenticationProvider(@NonNull CognitoIdentityProvider cognitoIdentityProvider, @NonNull Regions regions);

}