code: public Observable<ServiceResponse<EventSubscriptionInner>> beginUpdateWithServiceResponseAsync(String scope, String eventSubscriptionName, EventSubscriptionUpdateParameters eventSubscriptionUpdateParameters) {
          if (scope == null) {
              throw new IllegalArgumentException("Parameter scope is required and cannot be null.");
          }
          if (eventSubscriptionName == null) {
              throw new IllegalArgumentException("Parameter eventSubscriptionName is required and cannot be null.");
          }
          if (eventSubscriptionUpdateParameters == null) {
              throw new IllegalArgumentException("Parameter eventSubscriptionUpdateParameters is required and cannot be null.");
          }
          if (this.client.apiVersion() == null) {
              throw new IllegalArgumentException("Parameter this.client.apiVersion() is required and cannot be null.");
          }
          Validator.validate(eventSubscriptionUpdateParameters);
          return service.beginUpdate(scope, eventSubscriptionName, eventSubscriptionUpdateParameters, this.client.apiVersion(), this.client.acceptLanguage(), this.client.userAgent())
              .flatMap(new Func1<Response<ResponseBody>, Observable<ServiceResponse<EventSubscriptionInner>>>() {
                  @Override
                  public Observable<ServiceResponse<EventSubscriptionInner>> call(Response<ResponseBody> response) {
                      try {
                          ServiceResponse<EventSubscriptionInner> clientResponse = beginUpdateDelegate(response);
                          return Observable.just(clientResponse);
                      } catch (Throwable t) {
                          return Observable.error(t);
                      }
                  }
              });
      }
docs: Update an event subscription.
  Asynchronously updates an existing event subscription.
  
  @param scope The scope of existing event subscription. The scope can be a subscription, or a resource group, or a top level resource belonging to a resource provider namespace, or an EventGrid topic. For example, use '/subscriptions/{subscriptionId}/' for a subscription, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for a resource group, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}' for a resource, and '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventGrid/topics/{topicName}' for an EventGrid topic.
  @param eventSubscriptionName Name of the event subscription to be updated
  @param eventSubscriptionUpdateParameters Updated event subscription information
  @throws IllegalArgumentException thrown if parameters fail the validation
  @return the observable to the EventSubscriptionInner object