public static Callable capturingDecorator()

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