Actual result:
default Enumerable<X> after(Predicate<X> prd, long size) {
final Enumerable<X> out;
if (size < 0) {
throw new IllegalArgumentException(Long.toString(size));
} else if (size == 0) {
out = new Empty<>();
} else if (prd == null) {
out = new Linked<>(this.stream().limit(size).collect(Collectors.toList()));
} else {
...
Expected result:
default Enumerable<X> after(Predicate<X> prd, long size) {
final Enumerable<X> out;
if (size < 0) {
throw new IllegalArgumentException(Long.toString(size));
} else if (size == 0 || prd == null) {
out = new Empty<>();
} else {
...
Actual result:
Expected result: