class JoinWindows extends Windows<Window> {

    @Deprecated
    public static JoinWindows of(final long timeDifferenceMs) throws IllegalArgumentException {
        // This is a static factory method, so we initialize grace and retention to the defaults.
        return new JoinWindows(timeDifferenceMs, timeDifferenceMs, -1L, DEFAULT_RETENTION_MS);
    }

    private  JoinWindows(final long beforeMs,
                        final long afterMs,
                        final long graceMs,
                        final long maintainDurationMs);
    @Deprecated // removing segments from Windows will fix this private  JoinWindows(final long beforeMs,
                        final long afterMs,
                        final long graceMs,
                        final long maintainDurationMs,
                        final int segments);

}