Buggy code:
@ Component ( name = "logger-registry" ) @ Provides ( specifications = { LoggerRegistry . class } ) public class LoggerRegistryImpl implements LogPipe , LoggerFactoryEventListener , LoggerFactoryRegistryEventListener , LoggerRegistry { private final Logger log = org . slf4j . LoggerFactory . getLogger ( LoggerRegistryImpl . class . getName ( ) ) ; @ Requires private ConfigService conf ; private ConcurrentMap < String , Logger > loggers ; private Set < LoggerRegistryEventListener > callbacks ; private ConcurrentMap < String , Set < LogPipe > > pipeMap ; private boolean isOpen = false ; private Map < String , Set < String > > dependencies ; private LoggerRegistryImpl . DependencyResolver resolver ; public LoggerRegistryImpl ( ) { } @ Override public boolean isOpen ( ) { } @ Validate public void start ( ) { } @ Invalidate public void stop ( ) { } @ Override public void factoryAdded ( LoggerFactory loggerFactory ) { } @ Override public void factoryRemoved ( LoggerFactory loggerFactory ) { } @ Override public Collection < Logger > getLoggers ( ) { } @ Override public Logger getLogger ( String fullName ) { } @ Override public Logger getLogger ( String namespace , String name ) { } @ Override public void addLogger ( Logger logger ) { } @ Override public void removeLogger ( Logger logger ) { } @ Override public void loggerCreated ( LoggerFactory factory , Logger logger , Map < String , String > config ) { } @ Override public void loggerDeleted ( LoggerFactory factory , Logger logger ) { } @ Override public void addLogPipe ( String loggerFactoryName , LogPipe pipe ) { } @ Override public void removeLogPipe ( String loggerFactoryName , LogPipe pipe ) { } @ Override public void addListener ( LoggerRegistryEventListener callback ) { } @ Override public void removeListener ( LoggerRegistryEventListener callback ) { } @ Override public Set < String > getDependencies ( String fullName ) { } @ Override public boolean hasDependency ( String fullName , String sourceFullName ) { } @ Override public void addDependency ( String fullName , String sourceFullName ) { } @ Override public void removeDependency ( String fullName , String sourceFullName ) { } @ Override public void onLog ( Logger logger , Log log ) { } @ Override public void onLogBatch ( Logger logger , Log [ ] logs ) { } private class DependencyResolver implements LoggerEventListener , LoggerRegistryEventListener { private DependencyResolver ( ) { } public void loggerAdded ( org . araqne . log . api . Logger logger ) { } public void loggerRemoved ( Logger logger ) { } public void onStart ( Logger logger ) { log . debug ( "aranqe<seq2seq4repair_space>log<seq2seq4repair_space>api:<seq2seq4repair_space>dependency<seq2seq4repair_space>resolver<seq2seq4repair_space>detected<seq2seq4repair_space>logger<seq2seq4repair_space>[{}]<seq2seq4repair_space>start" , logger . getFullName ( ) ) ; <START_BUG> for ( org . araqne . log . api . Logger l : loggers . values ( ) ) { <END_BUG> if ( ( l != logger ) && ( ! ( l . getFullName ( ) . equals ( logger . getFullName ( ) ) ) ) ) { l . removeUnresolvedLogger ( logger . getFullName ( ) ) ; } } } public void onStop ( Logger logger , LoggerStopReason reason ) { } public void onSetTimeRange ( Logger logger ) { } public void onUpdated ( Logger logger , Map < String , String > config ) { } } }

Fix:
for ( Logger l : loggers . values ( ) ) {