@Override public C.Sequence<T> append(Enumeration<? extends T> enumeration) { return C.seq(enumeration); }
@Override public C.Sequence<T> append(Iterator<? extends T> iterator) { return C.seq(iterator); }
@Override public C.Sequence<T> prepend(Iterator<? extends T> iterator) { if (!iterator.hasNext()) { return this; } return C.seq(iterator); }
@Override public C.Sequence<T> prepend(Iterator<? extends T> iterator) { if (!iterator.hasNext()) { return this; } return C.seq(iterator); }
@Override public C.Sequence<T> prepend(Enumeration<? extends T> enumeration) { if (!enumeration.hasMoreElements()) { return this; } return C.seq(enumeration); }
@Override public C.Sequence<T> prepend(Iterable<? extends T> iterable) { if (!iterable.iterator().hasNext()) { return this; } return C.seq(iterable); }
@Override public C.Sequence<T> prepend(Iterable<? extends T> iterable) { if (!iterable.iterator().hasNext()) { return this; } return C.seq(iterable); }
@Override public C.Sequence<T> prepend(Enumeration<? extends T> enumeration) { if (!enumeration.hasMoreElements()) { return this; } return prepend(C.seq(enumeration)); }
@Override public C.Sequence<T> prepend(Iterable<? extends T> iterable) { if (!iterable.iterator().hasNext()) { return this; } return prepend(C.seq(iterable)); }
@Override public C.Sequence<T> append(Iterator<? extends T> iterator) { if (!iterator.hasNext()) { return this; } return CompositeSeq.of(this, C.seq(iterator)); }
@Override public C.Sequence<T> prepend(Iterator<? extends T> iterator) { if (!iterator.hasNext()) { return this; } return prepend(C.seq(iterator)); }
@Override public C.Sequence<T> append(Iterable<? extends T> iterable) { return append(C.seq(iterable)); }
@Override public C.Sequence<T> prepend(Iterator<? extends T> iterator) { if (!iterator.hasNext()) { return this; } if (isLazy()) { return CompositeSeq.of(C.seq(iterator), this); } return unLazyAppend(iterator); }
@Override public C.Sequence<T> prepend(Enumeration<? extends T> enumeration) { if (isLazy()) { return CompositeSeq.of(C.seq(enumeration), this); } return unLazyAppend(enumeration); }
@Override public C.Sequence<T> append(Iterator<? extends T> iterator) { if (isLazy()) { return CompositeSeq.of(this, C.seq(iterator)); } return unLazyAppend(iterator); }
@Override public C.Sequence<T> prepend(Enumeration<? extends T> enumeration) { if (isLazy()) { return CompositeSeq.of(C.seq(enumeration), this); } return unLazyAppend(enumeration); }
@Override public C.Sequence<T> append(Iterator<? extends T> iterator) { if (isLazy()) { return CompositeSeq.of(this, C.seq(iterator)); } return unLazyAppend(iterator); }
@Override public C.Sequence<T> append(Iterator<? extends T> iterator) { if (isLazy()) { return CompositeSeq.of(this, C.seq(iterator)); } ListBuilder<T> lb = new ListBuilder<T>(size() * 2); lb.append(this).append(iterator); return lb.toList(); }
@Override public C.Sequence<T> append(Enumeration<? extends T> enumeration) { if (isLazy()) { return CompositeSeq.of(this, C.seq(enumeration)); } ListBuilder<T> lb = new ListBuilder<T>(size() * 2); lb.append(this).append(enumeration); return lb.toList(); }
@Override public C.Sequence<T> append(Iterator<? extends T> iterator) { if (isLazy()) { return CompositeSeq.of(this, C.seq(iterator)); } ListBuilder<T> lb = new ListBuilder<T>(size() * 2); lb.append(this).append(iterator); return lb.toList(); }