That is because !done
isn't a statement. The issue is your for loop:
for (Iterator localIterator = pushedBlocks.iterator(); localIterator.hasNext(); !done)
This reads as "to begin, declare localIterator
and set it to pushedBlocks.iterator()
, then continue while the iterator has more elements". There's no semantic meaning to !done
. Rewrite the for loop as:
for (Iterator localIterator = pushedBlocks.iterator(); localIterator.hasNext() && !done;)