import org.springframework.transaction.annotation.Transactional; class A { public interface C { @Transactional int bar(); // Compliant } private interface B { @Transactional int bar(); // Compliant } @org.springframework.transaction.annotation.Transactional public void publicTransactionalMethod() {} // Compliant @org.springframework.transaction.annotation.Transactional private void privateTransactionalMethod() {} // Noncompliant [[sc=16;ec=42]] {{Make this method "public" or remove the "@Transactional" annotation}} @org.springframework.transaction.annotation.Transactional protected void protectedTransactionalMethod() {} // Noncompliant {{Make this method "public" or remove the "@Transactional" annotation}} @org.springframework.transaction.annotation.Transactional void defaultVisibilityTransactionalMethod() {} // Noncompliant {{Make this method "public" or remove the "@Transactional" annotation}} @org.xxx.Transactional private void privateMethodWithNonSpringAnnotation() {} // Compliant @Transactional private void privateTransactionalMethodWithImportBasedAnnotation() {} // Noncompliant {{Make this method "public" or remove the "@Transactional" annotation}} }