class SessionTupleForwarder {

    public void maybeForward(final Windowed<K> key,
                             final V newValue,
                             final V oldValue) {
        if (!cachingEnabled) {
            context.forward(key, new Change<>(newValue, sendOldValues ? oldValue : null), To.all().withTimestamp(key.window().end()));
        }
    }

    @SuppressWarnings("unchecked")  SessionTupleForwarder(final StateStore store,
                          final ProcessorContext context,
                          final CacheFlushListener<Windowed<K>, V> flushListener,
                          final boolean sendOldValues);

}