I don't know how efficient removing the first element from a list is in Groovy. If it's O(1) then this is totally fine, but if it's O(N) because you have to shift everyone down then that's not so cool. You probably want to look into that and make sure it's not O(N).