I think you have a typo in your code roll() should be poll()
Now your question the last value is not returned because you are changing the Collection on which you're iterating. The collection contains 4 items. So at the first iteration you're removing 3 items. So the collection contains 1 item.
In the next loop the code searchs for a second item in the collection which isn't there because you have removed that. There is only one item which is at position 0.
For changing a collection
you should use an iterator as shown in the code below
I hope this helps
Remko (My website)
SCJP 1.5, SCWCD 1.4, SCDJWS 1.4, SCBCD 1.5, ITIL(Manager), Prince2(Practitioner), Reading/ gaining experience for SCEA,