docs: public boolean init(
              @NonNull PaymentSessionListener listener,
              @NonNull PaymentSessionConfig paymentSessionConfig,
              @Nullable Bundle savedInstanceState) {
  
          // Checking to make sure that there is a valid CustomerSession -- the getInstance() call
          // will throw a runtime exception if none is ready.
          try {
              if (savedInstanceState == null) {
                  mCustomerSession.resetUsageTokens();
              }
              mCustomerSession.addProductUsageTokenIfValid(TOKEN_PAYMENT_SESSION);
          } catch (IllegalStateException illegalState) {
              mPaymentSessionListener = null;
              return false;
          }
  
          mPaymentSessionListener = listener;
  
          if (savedInstanceState != null) {
              PaymentSessionData data =
                      savedInstanceState.getParcelable(PAYMENT_SESSION_DATA_KEY);
              if (data != null) {
                  mPaymentSessionData = data;
              }
          }
          mPaymentSessionConfig = paymentSessionConfig;
          fetchCustomer();
          return true;
      }