public static WindowBytesStoreSupplier persistentTimestampedWindowStore(final String name,
                                                                            final Duration retentionPeriod,
                                                                            final Duration windowSize,
                                                                            final boolean retainDuplicates) throws IllegalArgumentException {
        return persistentWindowStore(name, retentionPeriod, windowSize, retainDuplicates, true);
    }
Create a persistent {@link WindowBytesStoreSupplier}.
<p>
This store supplier can be passed into a
{@link #timestampedWindowStoreBuilder(WindowBytesStoreSupplier, Serde, Serde)}.
If you want to create a {@link WindowStore} you should use
{@link #persistentWindowStore(String, Duration, Duration, boolean)} to create a store supplier instead.
<p>
Note that it is not safe to change the value of {@code retentionPeriod} between
application restarts without clearing local state from application instances,
as this may cause incorrect values to be read from the state store if it impacts
the underlying storage format.

@param name                  name of the store (cannot be {@code null})
@param retentionPeriod       length of time to retain data in the store (cannot be negative)
                             (note that the retention period must be at least long enough to contain the
                             windowed data's entire life cycle, from window-start through window-end,
                             and for the entire grace period)
@param windowSize            size of the windows (cannot be negative)
@param retainDuplicates      whether or not to retain duplicates. Turning this on will automatically disable
                             caching and means that null values will be ignored.
@return an instance of {@link WindowBytesStoreSupplier}
@throws IllegalArgumentException if {@code retentionPeriod} or {@code windowSize} can't be represented as {@code long milliseconds}
@throws IllegalArgumentException if {@code retentionPeriod} is smaller than {@code windowSize}
streams/src/main/java/org/apache/kafka/streams/state/Stores.java