Copyleft notices added, Comments converted to Javadoc style.