code: function findLinks(rootNode, callback)
  {
  	var attrName,i,link,linkAttrs,numAttrs,url;
  	
  	walk(rootNode, function(node)
  	{
  		linkAttrs = maxFilterLevel[node.nodeName];
  		
  		// If a supported element
  		if (linkAttrs != null)
  		{
  			numAttrs = node.attrs.length;
  			
  			// Faster to loop through Arrays than Objects
  			for (i=0; i<numAttrs; i++)
  			{
  				attrName = node.attrs[i].name;
  				url = null;
  				
  				// If a supported attribute
  				if (linkAttrs[attrName] === true)
  				{
  					// Special case for `<meta http-equiv="refresh" content="5; url=redirect.html">`
  					if (node.nodeName==="meta" && attrName==="content")
  					{
  						if (node.attrMap["http-equiv"]!=null && node.attrMap["http-equiv"].toLowerCase()==="refresh")
  						{
  							url = parseMetaRefresh( node.attrMap[attrName] ).url;
  						}
  					}
  					else
  					{
  						// https://html.spec.whatwg.org/multipage/infrastructure.html#valid-url-potentially-surrounded-by-spaces
  						url = node.attrMap[attrName].trim();
  					}
  					
  					if (url != null)
  					{
  						callback(node, attrName, url);
  					}
  				}
  			}
  		}
  	});
  }
docs: ::: PRIVATE FUNCTIONS /*
  Traverses the root node to locate links that match filters.