protected function _processOperator($key, $value, $fieldMeta, $glue) {
		if (!is_string($key) || !is_array($value)) {
			return false;
		}
		$operator = strtoupper(key($value));
		if (!is_numeric($operator)) {
			if (!isset($this->_operators[$operator])) {
				throw new QueryException("Unsupported operator `{$operator}`.");
			}
			foreach ($value as $op => $val) {
				$result[] = $this->_operator($key, [$op => $val], $fieldMeta);
			}
			return '(' . implode(' ' . $glue . ' ', $result) . ')';
		}
		return false;
	}
protected function _processOperator($key, $value, $fieldMeta, $glue) {
		if (!is_string($key) || !is_array($value)) {
			return false;
		}
		$operator = strtoupper(key($value));
		if (!is_numeric($operator)) {
			if (!isset($this->_operators[$operator])) {
				throw new QueryException("Unsupported operator `{$operator}`.");
			}
			foreach ($value as $op => $val) {
				$result[] = $this->_operator($key, [$op => $val], $fieldMeta);
			}
			return '(' . implode(' ' . $glue . ' ', $result) . ')';
		}
		return false;
	}
protected function _processOperator ( $ key , $ value , $ fieldMeta , $ glue ) { if ( ! is_string ( $ key ) || ! is_array ( $ value ) ) { return false ; } $ operator = strtoupper ( key ( $ value ) ) ; if ( ! is_numeric ( $ operator ) ) { if ( ! isset ( $ this -> _operators [ $ operator ] ) ) { throw new QueryException ( "Unsupported operator `{$operator}`." ) ; } foreach ( $ value as $ op => $ val ) { $ result [ ] = $ this -> _operator ( $ key , [ $ op => $ val ] , $ fieldMeta ) ; } return '(' . implode ( ' ' . $ glue . ' ' , $ result ) . ')' ; } return false ; }
Helper method used by `_processConditions`.

@param string The field name string.
@param array The operator to parse.
@param array The schema of the field.
@param string The glue operator (e.g `'AND'` or '`OR`'.
@return mixed Returns the operator expression string or `false` if no operator
is applicable.
@throws A `QueryException` if the operator is not supported.
Helper method used by _processConditions .