I'm looking into metrics reported by SonarQube and there are measures like Cognitive complexity which are useful to identify hardly maintainable code. But I found that there are no measures indicating violating SOLID principles. Are there static code analysis tools for Java that can report on SOLID principles violation?