private Node addTreeNode()

in vault-server/src/jetbrains/buildServer/buildTriggers/vcs/vault/VaultPathHistory.java [113:134]


  private Node addTreeNode(@NotNull String oldPath, @NotNull String newPath) {
    final String[] components = oldPath.split("/");
    Node node = myRoot;
    String np = VaultUtil.ROOT;
    for (int i = 1; i < components.length; ++i) {
      final String name = components[i];
      if (!node.hasChild(name)) {
        if (i < (components.length - 1)) {
          np += "/" + name;
        } else {
          np = newPath;
        }
        final Node child = new Node(name, np, node);
        node.addChild(child);
        node = child;
      } else {
        node = node.getChild(name);
        np = node.getNewPath();
      }
    }
    return node;
  }