code: function _getOpenNodes(treeData, projectRootPath) {
          var openNodes = [];
  
          function addNodesAtDepth(treeData, parent, depth) {
              if (!treeData) {
                  return;
              }
  
              treeData.forEach(function (value, key) {
                  if (isFile(value)) {
                      return;
                  }
  
                  var directoryPath = parent + key + "/";
  
                  if (value.get("open")) {
                      var nodeList = openNodes[depth];
                      if (!nodeList) {
                          nodeList = openNodes[depth] = [];
                      }
                      nodeList.push(directoryPath);
                      addNodesAtDepth(value.get("children"), directoryPath, depth + 1);
                  }
              });
          }
  
          // start at the top of the tree and the first array element
          addNodesAtDepth(treeData, projectRootPath, 0);
          return openNodes;
      }
docs: @private
  
  See `FileTreeViewModel.getOpenNodes`.