Comparison of Static Code Analysis Tools for Java - Findbugs vs PMD vs Checkstyle