http://www.delodder.be/blog/development/serialize-a-arraylist/