== Why is this an issue? When ``++@Overrides++`` of ``++synchronized++`` methods are not themselves ``++synchronized++``, the result can be improper synchronization as callers rely on the thread-safety promised by the parent class. === Noncompliant code example [source,java] ---- public class Parent { synchronized void foo() { //... } } public class Child extends Parent { @Override public void foo () { // Noncompliant // ... super.foo(); } } ---- === Compliant solution [source,java] ---- public class Parent { synchronized void foo() { //... } } public class Child extends Parent { @Override synchronized void foo () { // ... super.foo(); } } ---- == Resources * https://wiki.sei.cmu.edu/confluence/x/gzdGBQ[CERT, TSM00-J] - Do not override thread-safe methods with methods that are not thread-safe ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) === Message * Make this method "synchronized" to match the parent class implementation. === Highlighting * method name for missing "synchronized" keyword endif::env-github,rspecator-view[]