WingtipsSpringWebfluxUtils { public static @NotNull Context subscriberContextWithTracingInfo( @NotNull Context origContext, @NotNull TracingState tracingState ) { return origContext.put(TracingState.class, tracingState); } protected  WingtipsSpringWebfluxUtils(); static void addTracingInfoToRequestAttributes(
        @NotNull TracingState tracingState,
        @NotNull Span overallRequestSpan,
        @NotNull ServerWebExchange exchange
    ); static @Nullable TracingState tracingStateFromExchange(@NotNull ServerWebExchange exchange); static @NotNull Context subscriberContextWithTracingInfo(
        @NotNull Context origContext,
        @NotNull TracingState tracingState
    ); static @Nullable TracingState tracingStateFromContext(@NotNull Context context);  }
@Test public void subscriberContextWithTracingInfo_works_as_expected() { Map<String, String> origContextPairs = MapBuilder .builder("foo", UUID.randomUUID().toString()) .put("bar", UUID.randomUUID().toString()) .build(); Context origContext = Context.of(origContextPairs); TracingState tracingStateMock = mock(TracingState.class); Context result = WingtipsSpringWebfluxUtils.subscriberContextWithTracingInfo(origContext, tracingStateMock); assertThat(result.size()).isEqualTo(origContextPairs.size() + 1); origContextPairs.forEach( (k, v) -> assertThat(result.<String>get(k)).isEqualTo(v) ); assertThat(result.get(TracingState.class)).isSameAs(tracingStateMock); }