http://www.cnblogs.com/kuangbin/archive/2012/08/19/2646396.html

http://www.cnblogs.com/xiaohongmao/archive/2012/06/01/2531212.html

http://www.cnblogs.com/skyivben/archive/2010/07/10/1775001.html