whole_func_string: function(cb) {
        var t = this;
        if (!this.__db) {
          this.__db = {};
        }
        async.parallel(
            [
              // Load Resources
              function(cb) {
                if (!t.__resManager) {
                  cb(null);
                  return;
                }
  
                t.__resManager.findAllResources(function(err) {
                  if (err) {
                    cb(err);
                    return;
                  }
                  log.debug("found all resources");
                  cb(null);
                });
              },
  
              // Find all classes
              function(cb) {
                async.each(t.__libraries,
                    function(library, cb) {
                      library.scanForClasses(err => {
                        log.debug("Finished scanning for " + library.getNamespace());
                        cb(err);
                      });
                    },
                    err => {
                      log.debug("Finished scanning for all libraries");
                      cb(err);
                    });
              }
            ],
            function(err) {
              log.debug("processed source and resources");
              cb(err);
            });
      }
func_code_string: function(cb) {
        var t = this;
        if (!this.__db) {
          this.__db = {};
        }
        async.parallel(
            [
              // Load Resources
              function(cb) {
                if (!t.__resManager) {
                  cb(null);
                  return;
                }
  
                t.__resManager.findAllResources(function(err) {
                  if (err) {
                    cb(err);
                    return;
                  }
                  log.debug("found all resources");
                  cb(null);
                });
              },
  
              // Find all classes
              function(cb) {
                async.each(t.__libraries,
                    function(library, cb) {
                      library.scanForClasses(err => {
                        log.debug("Finished scanning for " + library.getNamespace());
                        cb(err);
                      });
                    },
                    err => {
                      log.debug("Finished scanning for all libraries");
                      cb(err);
                    });
              }
            ],
            function(err) {
              log.debug("processed source and resources");
              cb(err);
            });
      }
func_documentation_string: Scans the source files for javascript class and resource references and
  calculates the dependency tree
  
  @param cb