in disseminating-executors/src/main/java/software/amazon/swage/concurrent/StateCapture.java [197:207]
public static <V> Callable<V> capturingDecorator(Callable<V> delegate) {
if (stateCaptors.isEmpty() || delegate instanceof CapturingRunnable) {
return delegate;
}
final List<CapturedState> thingsToPropagate = new ArrayList<CapturedState>(stateCaptors.size());
for (final StateCaptor<?> factory : stateCaptors) {
thingsToPropagate.add(factory.get());
}
return new CapturingCallable<V>(delegate, thingsToPropagate);
}