code: public ServiceFuture<FunctionInner> updateAsync(String resourceGroupName, String jobName, String functionName, FunctionInner function, String ifMatch, final ServiceCallback<FunctionInner> serviceCallback) {
          return ServiceFuture.fromHeaderResponse(updateWithServiceResponseAsync(resourceGroupName, jobName, functionName, function, ifMatch), serviceCallback);
      }
docs: Updates an existing function under an existing streaming job. This can be used to partially update (ie. update one or two properties) a function without affecting the rest the job or function definition.
  
  @param resourceGroupName The name of the resource group that contains the resource. You can obtain this value from the Azure Resource Manager API or the portal.
  @param jobName The name of the streaming job.
  @param functionName The name of the function.
  @param function A function object. The properties specified here will overwrite the corresponding properties in the existing function (ie. Those properties will be updated). Any properties that are set to null here will mean that the corresponding property in the existing function will remain the same and not change as a result of this PATCH operation.
  @param ifMatch The ETag of the function. Omit this value to always overwrite the current function. Specify the last-seen ETag value to prevent accidentally overwritting concurrent changes.
  @param serviceCallback the async ServiceCallback to handle successful and failed responses.
  @throws IllegalArgumentException thrown if parameters fail the validation
  @return the {@link ServiceFuture} object