@Deprecated
    public static TimeWindows of(final Duration size) throws IllegalArgumentException {
        final String msgPrefix = prepareMillisCheckFailMsgPrefix(size, "size");
        final long sizeMs = validateMillisecondDuration(size, msgPrefix);

        return new TimeWindows(sizeMs, sizeMs, Math.max(DEPRECATED_DEFAULT_24_HR_GRACE_PERIOD - sizeMs, 0), false);
    }
Return a window definition with the given window size, and with the advance interval being equal to the window
size.
The time interval represented by the N-th window is: {@code [N * size, N * size + size)}.
<p>
This provides the semantics of tumbling windows, which are fixed-sized, gap-less, non-overlapping windows.
Tumbling windows are a special case of hopping windows with {@code advance == size}.

@param size The size of the window
@return a new window definition without specifying the grace period (default to 24 hours minus window {@code size})
@throws IllegalArgumentException if the specified window size is zero or negative or can't be represented as {@code long milliseconds}
@deprecated since 3.0. Use {@link #ofSizeWithNoGrace(Duration)} } instead
streams/src/main/java/org/apache/kafka/streams/kstream/TimeWindows.java