private @NotNull List<Deployment> collectDeepChildren(@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();
    }
private @NotNull List<Deployment> collectDeepChildren(@NotNull Deployment root)