Created by Alexey Kazakov from Denis Golovin's Crucible comment on CDIProject.java lines 1174-1194 https://source.jboss.org/cru/REV-JBIDE-8#c87 :
It looks wrong, it rather should be in one synchronized(this) block
synchronized (beansByPath) { beansByPath.clear(); } synchronized (beansByName) { beansByName.clear(); } synchronized (namedBeans) { namedBeans.clear(); } synchronized (alternatives) { alternatives.clear(); } synchronized (decorators) { decorators.clear(); } synchronized (interceptors) { interceptors.clear(); } synchronized (allBeans) { allBeans.clear(); }