http://www.javaeye.com/topic/855388
http://www.javaeye.com/topic/810957
http://www.javaeye.com/topic/406220