code: @ExperimentalApi("https://github.com/grpc/grpc-java/issues/2861")
    public CallOptions withStreamTracerFactory(ClientStreamTracer.Factory factory) {
      CallOptions newOptions = new CallOptions(this);
      ArrayList<ClientStreamTracer.Factory> newList =
          new ArrayList<>(streamTracerFactories.size() + 1);
      newList.addAll(streamTracerFactories);
      newList.add(factory);
      newOptions.streamTracerFactories = Collections.unmodifiableList(newList);
      return newOptions;
    }
docs: Returns a new {@code CallOptions} with a {@code ClientStreamTracerFactory} in addition to
  the existing factories.
  
  <p>This method doesn't replace existing factories, or try to de-duplicate factories.