in geronimo-opentracing-extension/src/main/java/org/apache/geronimo/opentracing/extension/proxy/TracingProxyFactory.java [53:62]
public <T> T decorate(final Tracer tracer,
final T instance,
final Class<T> mainApi,
final Map<String, String> tags,
final Class<?>... otherApis) {
return mainApi.cast(Proxy.newProxyInstance(
ofNullable(Thread.currentThread().getContextClassLoader()).orElseGet(ClassLoader::getSystemClassLoader),
Stream.concat(Stream.of(mainApi), Stream.of(otherApis)).toArray(Class[]::new),
new TracingHandler(instance, tracer, tags)));
}