List<Deployment> (@NotNull Deployment root) { DeepChildrenCollector collector = new DeepChildrenCollector(root.getRuntime()); synchronized (myLock) { for (LocalDeploymentImpl<?> nextLocal : myLocalDeployments.values()) { collector.visitDeployment(nextLocal); } for (DeploymentImpl<?> nextRemote : myRemoteDeployments.values()) { collector.visitDeployment(nextRemote); } } return collector.getChildDeployments(); }