private Runnable createForwardDelayFunc(final ForwardQueueConfig forwardQueueConfig) {
        final Runnable delayForwardingFunc;
        final StroomDuration forwardDelay = Objects.requireNonNullElse(
                forwardQueueConfig.getForwardDelay(), StroomDuration.ZERO);
        if (forwardDelay.isZero()) {
            delayForwardingFunc = () -> {
                // No delay, so noop
            };
        } else {
            LOGGER.warn("'{}' - Using a forwarding delay of {} on every forward. " +
                        "If you see this message in production, set the property 'forwardDelay' to zero, " +
                        "unless you actually want the delay.",
                    destinationName, forwardDelay);
            delayForwardingFunc = this::delayPost;
        }
        return delayForwardingFunc;
    }
Holds the state relating to retries. Held in binary form.
stroom-proxy/stroom-proxy-app/src/main/java/stroom/proxy/app/handler/RetryingForwardDestination.java