 <p>My problem was I was passing along the same old listAccts to the array list, without saying "new". Even when I did say "new" i was passing along the accounts inside of listAccts, so the arraylist would be new, but the accounts inside of the new array list would be the ones I wanted to have backups of. What I had to do was create a new object from a deep copy using this method.</p> <p><a href="http://www.javaworld.com/javaworld/javatips/jw-javatip76.html?page=2" rel="nofollow">http://www.javaworld.com/javaworld/javatips/jw-javatip76.html?page=2</a></p> <p>Thanks everyone who offered help.</p>