@SuppressWarnings("unchecked")
    public static <T> IntervalCollection<T> on(TimeLine<T> timeLine) {

        if (timeLine.equals(PlainDate.axis())) {
            return (IntervalCollection<T>) onDateAxis();
        } else if (timeLine.equals(PlainTime.axis())) {
            return (IntervalCollection<T>) onClockAxis();
        } else if (timeLine.equals(PlainTimestamp.axis())) {
            return (IntervalCollection<T>) onTimestampAxis();
        } else if (timeLine.equals(Moment.axis())) {
            return (IntervalCollection<T>) onMomentAxis();
        }

        return new GenericWindows<>(timeLine, Collections.emptyList());

    }
@ SuppressWarnings ( "unchecked" ) public static < T > IntervalCollection < T > on ( TimeLine < T > timeLine ) { if ( timeLine . equals ( PlainDate . axis ( ) ) ) { return ( IntervalCollection < T > ) onDateAxis ( ) ; } else if ( timeLine . equals ( PlainTime . axis ( ) ) ) { return ( IntervalCollection < T > ) onClockAxis ( ) ; } else if ( timeLine . equals ( PlainTimestamp . axis ( ) ) ) { return ( IntervalCollection < T > ) onTimestampAxis ( ) ; } else if ( timeLine . equals ( Moment . axis ( ) ) ) { return ( IntervalCollection < T > ) onMomentAxis ( ) ; } return new GenericWindows < > ( timeLine , Collections . emptyList ( ) ) ; }
/*[deutsch]
<p>Liefert eine leere Instanz f&uuml;r Intervalle auf dem angegebenen Zeitstrahl. </p>

@return  empty generic {@code IntervalCollection}
@see     net.time4j.engine.TimeAxis
@see     net.time4j.engine.CalendarFamily#getTimeLine(String)
@see     net.time4j.engine.CalendarFamily#getTimeLine(net.time4j.engine.VariantSource)
@see     CalendarYear#timeline()
@see     CalendarQuarter#timeline()
@see     CalendarMonth#timeline()
@see     CalendarWeek#timeline()
@since   5.0