SYNCH.NESTED

When a synchronized method calls other synchronized methods on same object, it does not create synchronization problems but it does have a detrimental effect on performance. This error is reported for non-static methods.

Example 1

12     public class MyClass {
13         public synchronized List getElements() {
14             return internalGetElements();
15         }
16         synchronized List internalGetElements() {
17             List list = new ArrayList();
18             // calculate and return list of elements
19             return list;
20         }
21         // ...
22     }

SYNCH.NESTED is reported for line 14: Synchronized method calls another synchronized method 'internalGetElements' with the same lock held