code: public Observable<PrivateZoneInner> createOrUpdateAsync(String resourceGroupName, String privateZoneName, PrivateZoneInner parameters, String ifMatch, String ifNoneMatch) {
          return createOrUpdateWithServiceResponseAsync(resourceGroupName, privateZoneName, parameters, ifMatch, ifNoneMatch).map(new Func1<ServiceResponse<PrivateZoneInner>, PrivateZoneInner>() {
              @Override
              public PrivateZoneInner call(ServiceResponse<PrivateZoneInner> response) {
                  return response.body();
              }
          });
      }
docs: Creates or updates a Private DNS zone. Does not modify Links to virtual networks or DNS records within the zone.
  
  @param resourceGroupName The name of the resource group.
  @param privateZoneName The name of the Private DNS zone (without a terminating dot).
  @param parameters Parameters supplied to the CreateOrUpdate operation.
  @param ifMatch The ETag of the Private DNS zone. Omit this value to always overwrite the current zone. Specify the last-seen ETag value to prevent accidentally overwriting any concurrent changes.
  @param ifNoneMatch Set to '*' to allow a new Private DNS zone to be created, but to prevent updating an existing zone. Other values will be ignored.
  @throws IllegalArgumentException thrown if parameters fail the validation
  @return the observable for the request