diff --git a/examples/removable-iterator/Example2.java b/examples/removable-iterator/Example2.java index 359eeb21..540f88e4 100644 --- a/examples/removable-iterator/Example2.java +++ b/examples/removable-iterator/Example2.java @@ -1,11 +1,16 @@ +import jatyc.lib.Requires; + public class Example2 { public static void main(String[] args) { - RemovableIterator it = new RemovableIterator(args); + BaseIterator it = new RemovableIterator(args); + RemovableIterator remIt = (RemovableIterator) iterate(it); + System.out.printf("Left: %d\n", remIt.remainingItems()); + } + + public static BaseIterator iterate(@Requires("HasNext") BaseIterator it) { while (it.hasNext()) { - System.out.println(it.next()); - it.remove(); + System.out.printf("Item: %s\n", it.next()); } - BaseIterator baseIt = it; // Up-cast - System.out.println(baseIt.remainingItems()); + return it; } }