code: @Override
      public AgreementToken createPayPalAgreementTokenForCurrentOrder(boolean performCheckoutOnReturn) throws PaymentException {
          PaymentRequestDTO paymentRequestDTO = getPaymentRequestForCurrentOrder();
  
          // Create Agreement Token
          String agreementDescription = constructAgreementDescription(paymentRequestDTO);
          Payer payer = constructPayer(paymentRequestDTO);
          Plan plan = constructPlan(paymentRequestDTO, performCheckoutOnReturn);
          AgreementToken agreementToken = new AgreementToken(agreementDescription, payer, plan);
          return createAgreementToken(agreementToken, paymentRequestDTO);
      }
docs: To support PayPal Reference Transactions and Billing Agreement Tokens
  {@see https://developer.paypal.com/docs/limited-release/reference-transactions}
  
  @param performCheckoutOnReturn
  @return
  @throws PaymentException