http://www.cnblogs.com/Booble/archive/2011/02/28/1967179.html http://www.cnblogs.com/Booble/archive/2011/03/10/1980089.html http://www.cnblogs.com/Booble/archive/2011/04/03/2004865.html