class TimeWindows extends Windows<TimeWindow> {

    @Deprecated
    public static TimeWindows of(final long sizeMs) throws IllegalArgumentException {
        if (sizeMs <= 0) {
            throw new IllegalArgumentException("Window size (sizeMs) must be larger than zero.");
        }
        // This is a static factory method, so we initialize grace and retention to the defaults.
        return new TimeWindows(sizeMs, sizeMs, -1, DEFAULT_RETENTION_MS);
    }

    private  TimeWindows(final long sizeMs, final long advanceMs, final long graceMs, final long maintainDurationMs);
    @Deprecated private  TimeWindows(final long sizeMs,
                        final long advanceMs,
                        final long graceMs,
                        final long maintainDurationMs,
                        final int segments);

}