docs: function (filePath, rootOnly) {
              if (/^\w+:\/\/.+/.test(filePath)) {
                  return filePath;
              }
              var logicalPath = filePath;
              var res = logicalPath, // default response: logical path
              rootPath = Aria.rootFolderPath, // default root path
              // Some files have multiple extensions, .tpl.txt, .tpl.css, strip only the last one
              lastIndex = logicalPath.lastIndexOf("."), extensionFreePath = logicalPath.substring(0, lastIndex), //
              urlMap = this._urlMap, rootMap = this._rootMap, pathparts = extensionFreePath.split('/'), extract;
  
              // extract target from urlMap
              if (rootOnly !== true) {
                  extract = this._extractTarget(urlMap, pathparts, true);
                  urlMap = extract.node;
  
                  if (this._typeUtils.isString(urlMap)) {
                      res = urlMap;
                  } else if (this._typeUtils.isInstanceOf(urlMap, 'aria.utils.Callback')) {
                      res = urlMap.call(logicalPath);
                  } else if (this._typeUtils.isFunction(urlMap)) {
                      res = urlMap.call(null, logicalPath);
                  }
              }
  
              // extract target from rootMap
              rootMap = this._extractTarget(rootMap, pathparts).node;
  
              if (this._typeUtils.isString(rootMap)) {
                  rootPath = rootMap;
              } else if (this._typeUtils.isInstanceOf(rootMap, 'aria.utils.Callback')) {
                  rootPath = rootMap.call(logicalPath);
              } else if (this._typeUtils.isFunction(rootMap)) {
                  rootPath = rootMap.call(null, logicalPath);
              }
  
              return rootPath + res;
          }