added PMD/CPD static code analysis, #14