@Override public Stream<T> determineTail() { return !one.isEmpty() ? new Concat<T>(one.tail(), two) : two.tail(); }