PMD Code Review + Javadoc + some JUnit cleanup