docs: function Tokenize(query) {
    var parts = __splitTrim(query, WHERE);
    var pathway = parts[0];
    var where = parts[1];
  
    synopsis.pathway = __splitTrim(pathway, COMMA);
    for (var i = 0, len = synopsis.pathway.length; i < len; i++) {
      synopsis.pathway[i] = __splitTrim(synopsis.pathway[i], DELIMITER);
      if (synopsis.pathway[i][0] == WILDCARD)
        synopsis.pathway[i].shift();
      if (synopsis.pathway[i].length === 0)
        synopsis.pathway.splice(i, 1);
    }
  
    var lastLeft = -1,
      lastRight = -1,
      current = 0;
    while (current < where.length) {
      if (where[current] === LEFT) {
        lastLeft = current;
      } else if (where[current] === RIGHT) {
        lastRight = current;
        if (lastRight > lastLeft && lastLeft !== -1) {
          var k = 'gr' + '_' + new Date().getTime();
          synopsis.groups[k] = where.substring(lastLeft + 1, lastRight);
          where = where.replace(LEFT + synopsis.groups[k] + RIGHT, k);
          current = -1;
        }
      }
      current += 1;
    }
    LogicalGrouping(AST, where);
  }