http://www.particle.kth.se/~lindsey/JavaCourse/Book/Part1/Supplements/Chapter09/compressDecompress.html http://www.weste.net/2004/11-25/09122953405.html