Where does the exception occur?
Though, just from glancing at it, I think the problem might be in your RainDrop Update. You have a for loop, and you are removing elements in a list within the loop. In some cases I believe this can cause problems. If an element is removed, the next element will take the place of the one that ...