code: public final Mono<T> checkpoint(@Nullable String description, boolean forceStackTrace) {
  		final AssemblySnapshot stacktrace;
  		if (!forceStackTrace) {
  			stacktrace = new AssemblyLightSnapshot(description);
  		}
  		else {
  			stacktrace = new AssemblySnapshot(description, Traces.callSiteSupplierFactory.get());
  		}
  
  		return new MonoOnAssembly<>(this, stacktrace);
  	}
docs: Activate assembly tracing or the lighter assembly marking depending on the
  {@code forceStackTrace} option.
  <p>
  By setting the {@code forceStackTrace} parameter to {@literal true}, activate assembly
  tracing for this particular {@link Mono} and give it a description that
  will be reflected in the assembly traceback in case of an error upstream of the
  checkpoint. Note that unlike {@link #checkpoint(String)}, this will incur
  the cost of an exception stack trace creation. The description could for
  example be a meaningful name for the assembled mono or a wider correlation ID,
  since the stack trace will always provide enough information to locate where this
  Flux was assembled.
  <p>
  By setting {@code forceStackTrace} to {@literal false}, behaves like
  {@link #checkpoint(String)} and is subject to the same caveat in choosing the
  description.
  <p>
  It should be placed towards the end of the reactive chain, as errors
  triggered downstream of it cannot be observed and augmented with assembly marker.
  
  @param description a description (must be unique enough if forceStackTrace is set
  to false).
  @param forceStackTrace false to make a light checkpoint without a stacktrace, true
  to use a stack trace.
  @return the assembly marked {@link Mono}.