I'm good with Mnementh's recommentation.
Just one caveat though,
ConcurrentModificationException
Mind that you don't have more than one thread running. This exception could appear if more than one thread executes, and the threads are not well synchronized.