/**
  * Helper method for the query parser to recursively scan and flatten the where clause's conditions
  * @param MC_Parser_Token $token the token or token group to parse
  * @param array $where the collector array of tokens that make up the where clause
  */
 protected function parseWhereTokens($token, &$where)
 {
     if (!is_array($where)) {
         $where = array();
     }
     if ($token->hasChildren()) {
         if ($token->name) {
             $where[] = array('type' => $token->name, 'value' => $token->getValues());
         } else {
             foreach ($token->getChildren() as $child) {
                 $this->parseWhereTokens($child, $where);
             }
         }
     } elseif ($token->name) {
         $where[] = array('type' => $token->name, 'value' => $token->value);
     }
 }
 public function __construct($name)
 {
     parent::__construct(null, $name);
 }