code: public Observable<ZoneDeleteResultInner> beginDeleteAsync(String resourceGroupName, String zoneName, String ifMatch) {
          return beginDeleteWithServiceResponseAsync(resourceGroupName, zoneName, ifMatch).map(new Func1<ServiceResponse<ZoneDeleteResultInner>, ZoneDeleteResultInner>() {
              @Override
              public ZoneDeleteResultInner call(ServiceResponse<ZoneDeleteResultInner> response) {
                  return response.body();
              }
          });
      }
docs: Deletes a DNS zone. WARNING: All DNS records in the zone will also be deleted. This operation cannot be undone.
  
  @param resourceGroupName The name of the resource group.
  @param zoneName The name of the DNS zone (without a terminating dot).
  @param ifMatch The etag of the DNS zone. Omit this value to always delete the current zone. Specify the last-seen etag value to prevent accidentally deleting any concurrent changes.
  @throws IllegalArgumentException thrown if parameters fail the validation
  @return the observable to the ZoneDeleteResultInner object