docs: function( query, elements ){
          if( query != null ){
            var matches = false;
            elements = elements(); // make elements functional so we save cycles if query == null
  
            // query must match for at least one element (may be recursive)
            for(var i = 0; i < elements.size(); i++){
              if( queryMatches( query, elements.eq(i) ) ){
                matches = true;
                break;
              }
            }
  
            return matches;
          } else {
            return true;
          }
        }