docs: public void purchaseReservedVolume(PurchaseReservedVolumeRequest request) {
          checkNotNull(request, "request should not be null.");
          if (Strings.isNullOrEmpty(request.getClientToken())) {
              request.setClientToken(this.generateClientToken());
          }
          if (null == request.getBilling()) {
              request.setBilling(generateDefaultBillingWithReservation());
          }
          checkStringNotEmpty(request.getVolumeId(), "request volumeId should not be empty.");
          InternalRequest internalRequest =
                  this.createRequest(request, HttpMethodName.PUT, VOLUME_PREFIX, request.getVolumeId());
          internalRequest.addParameter(VolumeAction.purchaseReserved.name(), null);
          fillPayload(internalRequest, request);
          invokeHttpClient(internalRequest, AbstractBceResponse.class);
      }