@Override public void run() { Collection<NodeListener> nodeListenersCopy = Lists.newArrayList(); nodeListenersCopy.add(new RegistrationListener()); nodeListenersCopy.add(nodeMain); if (nodeListeners != null) { nodeListenersCopy.addAll(nodeListeners); } // The new Node will call onStart(). Node node = nodeFactory.newNode(nodeConfigurationCopy, nodeListenersCopy); nodeMains.put(node, nodeMain); } });