public static Runnable capturingDecorator()

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);
    }