public void retrieveCurrentCustomer(@NonNull CustomerRetrievalListener listener) {
        final Customer cachedCustomer = getCachedCustomer();
        if (cachedCustomer != null) {
            listener.onCustomerRetrieved(cachedCustomer);
        } else {
            mCustomer = null;

            final String operationId = UUID.randomUUID().toString();
            mCustomerRetrievalListeners.put(operationId, listener);
            mEphemeralKeyManager.retrieveEphemeralKey(operationId, null, null);
        }
    }
public void retrieveCurrentCustomer ( @ NonNull CustomerRetrievalListener listener ) { final Customer cachedCustomer = getCachedCustomer ( ) ; if ( cachedCustomer != null ) { listener . onCustomerRetrieved ( cachedCustomer ) ; } else { mCustomer = null ; final String operationId = UUID . randomUUID ( ) . toString ( ) ; mCustomerRetrievalListeners . put ( operationId , listener ) ; mEphemeralKeyManager . retrieveEphemeralKey ( operationId , null , null ) ; } }
Retrieve the current {@link Customer}. If the cached value at {@link #mCustomer} is not
stale, this returns immediately with the cache. If not, it fetches a new value and returns
that to the listener.

@param listener a {@link CustomerRetrievalListener} to invoke with the result of getting the
customer, either from the cache or from the server