in graalvm-native-image-demo/opentelemetry-agent-native/src/main/java/com/alibaba/jvm/ExecutorsAspect.java [179:201]
public static Collection<?> submitEnter(
Collection<? extends Callable<?>> tasks) {
try {
if (tasks == null) {
return Collections.emptyList();
}
Context context = Java8BytecodeBridge.currentContext();
for (Callable<?> task : tasks) {
if (ExecutorAdviceHelper.shouldPropagateContext(context, task)) {
VirtualField<Callable<?>, PropagatedContext> virtualField = VirtualField.find(Callable.class,
PropagatedContext.class);
ExecutorAdviceHelper.attachContextToTask(context, virtualField, task);
}
}
// returning tasks and not propagatedContexts to avoid allocating another list
// just for an edge case (exception)
return tasks;
} catch (Throwable t) {
return null;
}
}