@Override public boolean startDeployment(DeploymentModuleIdentifier identifier) { DeploymentHolder deployment; final List<DeploymentRepositoryListener> listeners; synchronized (this) { deployment = modules.get(identifier); if (deployment == null) return false; deployment.started = true; listeners = new ArrayList<DeploymentRepositoryListener>(this.listeners); } for (final DeploymentRepositoryListener listener : listeners) { try { listener.deploymentStarted(identifier, deployment.deployment); } catch (Throwable t) { EjbLogger.DEPLOYMENT_LOGGER.deploymentAddListenerException(t); } } return true; }