Reports non-synchronized methods overriding synchronized methods.

The overridden method will not be automatically synchronized if the superclass method is declared as synchronized. This may result in unexpected race conditions when using the subclass.

Example:


  class Super {
    synchronized void process() {}
  }
  class Sub extends Super {
    // Unsynchronized method 'process()' overrides synchronized method
    void process() {}
  }