This code is Copyright 1999-2002 by Eric Albert
(ejalbert@cs.stanford.edu) and may be redistributed or modified in any
form without restrictions as long as the portion of this comment from
this paragraph through the end of the comment is not removed.  The
author requests that he be notified of any application, applet, or other
binary that makes use of this code, but that's more out of curiosity
than anything and is not required.  This software includes no warranty.
The author is not repsonsible for any loss of data or functionality or
any adverse or unexpected effects of using this software.

Credits:
Steven Spencer, JavaWorld magazine
(http://www.javaworld.com/javaworld/javatips/jw-javatip66.html)
Thanks also to Ron B. Yeh, Eric Shapiro, Ben Engber, Paul Teitlebaum,
Andrea Cantatore, Larry Barowski, Trevor Bedzek, Frank Miedrich, Ron
Rabakukk, and Glenn Vanderburg
