code: public Observable<ServiceResponse<Void>> purgeDeletedWithServiceResponseAsync(String vaultName, String location) {
          if (vaultName == null) {
              throw new IllegalArgumentException("Parameter vaultName is required and cannot be null.");
          }
          if (location == null) {
              throw new IllegalArgumentException("Parameter location is required and cannot be null.");
          }
          if (this.client.subscriptionId() == null) {
              throw new IllegalArgumentException("Parameter this.client.subscriptionId() is required and cannot be null.");
          }
          if (this.client.apiVersion() == null) {
              throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null.");
          }
          Observable<Response<ResponseBody>> observable = service.purgeDeleted(vaultName, location, this.client.subscriptionId(), this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent());
          return client.getAzureClient().getPostOrDeleteResultAsync(observable, new TypeToken<Void>() { }.getType());
      }
docs: Permanently deletes the specified vault. aka Purges the deleted Azure key vault.
  
  @param vaultName The name of the soft-deleted vault.
  @param location The location of the soft-deleted vault.
  @throws IllegalArgumentException thrown if parameters fail the validation
  @return the observable for the request