code: function(key, rootData, scopeData, path, recursive) {
        var oType = SpahQL.DataHelper.objectType(scopeData);
        var results = [];
  
        if(oType == "array" || oType == "object") {
          // Loop and append
          for(var oKey in scopeData) {
            var oVal = scopeData[oKey];
            var oValType = SpahQL.DataHelper.objectType(oVal);
            var oPath = path+"/"+oKey;
            // Match at this level
            if(key == SpahQL.QueryParser.ATOM_PATH_WILDCARD || key.toString() == oKey.toString()) {
              results.push(SpahQL.result(oPath, oVal, rootData));
            }
            // Recurse! That is, if we should. Or not. It's cool.
            if(recursive && (oValType == "array" || oValType == "object")) {
              results = results.concat(this.fetchResultsFromObjectByKey(key, rootData, oVal, oPath, recursive));
            }
          }
        }
  
        return results;
      }
docs: SpahQL.Token.PathComponent#fetchResultsFromObjectByKey(key, object, path, recursive) -> Array
  - key (String): The key to be retrieved from the object. Numeric keys in string formare acceptable when accessing arrays.]
  - rootData (Object): The root data structure being queried.
  - scopeData (Object): The data structure from which the key's associated value will be retrieved
  - path (String): The path at which the item used as the 'object' argument is located
  - recursive (Boolean): A flag indicating whether the key should also be pulled from any child objects of the given object. I N C E P T I O N.
  
  Retrieves the value(s) associated with a given key from the given object, if such a key exists.