docs: @Nullable
      public ListenableFuture<PaymentProtocol.Ack> sendPayment(List<Transaction> txns, @Nullable Address refundAddr, @Nullable String memo)
              throws PaymentProtocolException, VerificationException, IOException {
          Protos.Payment payment = getPayment(txns, refundAddr, memo);
          if (payment == null)
              return null;
          if (isExpired())
              throw new PaymentProtocolException.Expired("PaymentRequest is expired");
          URL url;
          try {
              url = new URL(paymentDetails.getPaymentUrl());
          } catch (MalformedURLException e) {
              throw new PaymentProtocolException.InvalidPaymentURL(e);
          }
          return sendPayment(url, payment);
      }