Assert.notNull(furnace, "Furnace instance must not be null.");
this.furnace = furnace;
this.lock = furnace.getLockManager();
this.stateManager = new AddonStateManager(lock);
this.moduleLoader = new AddonModuleLoader(furnace, this, stateManager);
this.stateManager.setModuleLoader(moduleLoader);
this.loader = new AddonLoader(furnace, this, stateManager, moduleLoader);
logger.log(Level.FINE, "Instantiated AddonRTegistryImpl: " + this);
}