java.lang.Thread.sleep() methods that occur
within a synchronized block or method.
sleep() within a
synchronized block may result in decreased performance, poor scalability, and possibly
even deadlocking. Consider using wait() instead,
as it will release the lock held.
Example:
synchronized (lock) {
Thread.sleep(100);
}