WingtipsSpringWebfluxUtils { public static @Nullable TracingState tracingStateFromExchange(@NotNull ServerWebExchange exchange) { return exchange.getAttribute(TracingState.class.getName()); } 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 tracingStateFromExchange_returns_value_from_exchange_attributes() { TracingState expectedResult = mock(TracingState.class); doReturn(expectedResult).when(exchangeMock).getAttribute(TracingState.class.getName()); TracingState result = WingtipsSpringWebfluxUtils.tracingStateFromExchange(exchangeMock); assertThat(result).isSameAs(expectedResult); verify(exchangeMock).getAttribute(TracingState.class.getName()); }