private static void AddExpandPaths(string[] paths, RootExpandNode rootExpandNode) { var currentNode = rootExpandNode.GetOrAdd(paths[0]); for (var i = 1; i < paths.Length; i++) { var path = paths[i]; currentNode = currentNode.GetOrAdd(path); } }
private static RootExpandNode GetRootExpandNode(IEnumerable <string> expandPaths) { var expandTree = new RootExpandNode(); foreach (var expandPath in expandPaths) { var paths = expandPath.Split(Delimiters); AddExpandPaths(paths, expandTree); } return(expandTree); }