Add custom PMD ruleset and fix existing violations