Overriding thread-safe methods with methods that are not thread-safe can result in improper synchronization if the client inadvertently operates on an instance of the thread-unsafe subclass. An overridden synchronized method's contract may be violated if a subclass provides an implementation that is not safe for concurrent use.
...