docs: function getInheritedCollectionPaths(node, name) {
              var paths = [],
                  startNode = node,
                  actualNode = node,
                  endNode,
                  prefixNode,
                  i,
                  inverseOverlays,
                  target;
  
              while (startNode) {
                  actualNode = self.getBase(startNode);
                  endNode = self.getBase(getInstanceRoot(startNode));
                  target = '';
                  if (actualNode && endNode) {
                      prefixNode = node;
                      while (actualNode && actualNode !== self.getParent(endNode)) {
                          inverseOverlays = innerCore.getInverseOverlayOfNode(actualNode);
                          if (inverseOverlays[target] && inverseOverlays[target][name]) {
                              for (i = 0; i < inverseOverlays[target][name].length; i += 1) {
                                  paths.push(self.joinPaths(self.getPath(prefixNode), inverseOverlays[target][name][i]));
                              }
                          }
                          target = CONSTANTS.PATH_SEP + self.getRelid(actualNode) + target;
                          actualNode = self.getParent(actualNode);
                          prefixNode = self.getParent(prefixNode);
                      }
                  }
                  startNode = self.getBase(startNode);
              }
  
              return paths;
          }