code: function addLinkToQueue(result, parentUrl, linkUri, anchor, isDoFollow, endCallback) {
  
      async.waterfall([
          function(callback) {
              updateDepth(parentUrl, linkUri, function(error, currentDepth) {
                  callback(error,currentDepth);
              });
  
          },
          function(currentDepth, callback) {
            isAGoodLinkToCrawl(result, currentDepth, parentUrl, linkUri, anchor, isDoFollow, function(error, info) {
  
                if (error) {
                  return callback(error);
                }
  
                if (info.toCrawl && (result.depthLimit === -1 || currentDepth <= result.depthLimit)) {
                    result.isExternal = info.isExternal;
                    requestQueue.queue(buildNewOptions(result,linkUri), callback);
  
                }
                else {
                  log.info({"url" : linkUri, "step" : "addLinkToQueue", "message" : "Don't crawl the url",
                            "options" : {isGoogLink : info.toCrawl, depthLimit : result.depthLimit, currentDepth : currentDepth }});
                  pm.unCrawl(parentUrl, linkUri, anchor, isDoFollow, callback);
                }
  
            });
  
          }
      ], endCallback);
  }
docs: Add a new link to the queue in order to be cralw (based on some conditions)
  
  @param the HTTP response with the crawl option
  @param the url of the page that contains the link
  @param the link matching to an HTTP resource
  @param the anchor text of the link
  @param true if the link is in dofollow
  @param callback(error)