@Test public void testSkip() { checkSequence(tryParse("1,2,3,4,5").skip(2), asList(3L, 4L, 5L), false); checkSequence(tryParse("1..10").skip(5), asList(6L, 7L, 8L, 9L), false); checkSequence(tryParse("1,2,3,8..10,15,16").skip(5), asList(15L, 16L), false); checkSequence(tryParse("1,2,3,8..10,15,16").skip(1000), Collections.emptyList(), false); }
public abstract NumberSequence skip(long skipCount);
NumberSequence { public abstract NumberSequence skip(long skipCount); }
NumberSequence { public abstract NumberSequence skip(long skipCount);  }
NumberSequence { public abstract NumberSequence skip(long skipCount);  abstract long getCount(); abstract Iterator<Long> getIterator(); abstract boolean matches(long number); abstract NumberSequence skip(long skipCount); abstract NumberSequence step(long step); static NumberSequence from(long from); static Either<NumberSequence, String> parse(String value); }
NumberSequence { public abstract NumberSequence skip(long skipCount);  abstract long getCount(); abstract Iterator<Long> getIterator(); abstract boolean matches(long number); abstract NumberSequence skip(long skipCount); abstract NumberSequence step(long step); static NumberSequence from(long from); static Either<NumberSequence, String> parse(String value);  }