public static <T, R> Function<T, R> wrap(final Function<T, R> function)
	{
		final Tracing tracing = Tracing.get();

		final String traceId = tracing.newOperationId();
		return wrap(traceId, tracing.isVerbose(), function);
	}
public static < T , R > Function < T , R > wrap ( final Function < T , R > function ) { final Tracing tracing = Tracing . get ( ) ; final String traceId = tracing . newOperationId ( ) ; return wrap ( traceId , tracing . isVerbose ( ) , function ) ; }
Wrap a function call in a trace block; designed for use in a parallel stream

@param <T>
the type of the input to the function
@param <R>
the type of the result of the function

@return