code: function related() {
  
          var rel = {
              scripts: {},
              stylesheets: {}
          };
          var i;
          // iterate on document scripts (HTMLCollection doesn't provide forEach iterator).
          for (i = 0; i < _document.scripts.length; i++) {
              // add only external scripts
              if (_document.scripts[i].src) {
                  rel.scripts[_document.scripts[i].src] = true;
              }
          }
  
          var s, j;
          //traverse @import rules
          var traverseRules = function _traverseRules(sheet, base) {
              var i,
                  href = sheet.href,
                  cssRules;
  
              // Deal with Firefox's SecurityError when accessing sheets
              // from other domains. Chrome will safely return `undefined`.
              try {
                  cssRules = sheet.cssRules;
              } catch (e) {
                  if (e.name !== "SecurityError") {
                      throw e;
                  }
              }
  
              if (href && cssRules) {
                  if (rel.stylesheets[href] === undefined) {
                      rel.stylesheets[href] = [];
                  }
                  rel.stylesheets[href].push(base);
  
                  for (i = 0; i < cssRules.length; i++) {
                      if (cssRules[i].href) {
                          traverseRules(cssRules[i].styleSheet, base);
                      }
                  }
              }
          };
          //iterate on document.stylesheets (StyleSheetList doesn't provide forEach iterator).
          for (j = 0; j < window.document.styleSheets.length; j++) {
              s = window.document.styleSheets[j];
              traverseRules(s, s.href);
          }
          return rel;
      }
docs: Retrieves related documents (external CSS and JS files)
  
  @return {{scripts: object, stylesheets: object}} Related scripts and stylesheets