in disseminating-executors/src/main/java/software/amazon/swage/concurrent/StateCapture.java [172:183]
public static Runnable capturingDecorator(Runnable 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 CapturingRunnable(delegate, thingsToPropagate);
}