code: public DnsBatchResult<ChangeRequest> applyChangeRequest(
        String zoneName, ChangeRequestInfo changeRequest, Dns.ChangeRequestOption... options) {
      DnsBatchResult<ChangeRequest> result = new DnsBatchResult<>();
      RpcBatch.Callback<Change> callback =
          createChangeRequestCallback(zoneName, result, false, false);
      Map<DnsRpc.Option, ?> optionMap = DnsImpl.optionMap(options);
      batch.addApplyChangeRequest(zoneName, changeRequest.toPb(), callback, optionMap);
      return result;
    }
docs: Adds a request representing the "apply change request" operation to the zone specified by
  {@code zoneName} to this batch. The {@code options} can be used to restrict the fields returned
  in the same way as for {@link Dns#applyChangeRequest(String, ChangeRequestInfo,
  Dns.ChangeRequestOption...)}. Calling {@link DnsBatchResult#get()} on the return value yields
  the created {@link ChangeRequest} if successful or throws a {@link DnsException} if the
  operation failed or the zone does not exist.