PLAT-3030 - Restructuring and additional javadoc