code: function parseQueryExpression( obj ) {
  	if ( sys.size( obj ) > 1 ) {
  		var arr = sys.map( obj, function ( v, k ) {
  			var entry = {};
  			entry[k] = v;
  			return entry;
  		} );
  		obj = {
  			$and : arr
  		};
  	}
  	var payload = [];
  	sys.each( obj, function ( val, key ) {
  
  		var exprObj = processExpressionObject( val, key );
  
  		if ( exprObj.operation === "$regex" ) {
  			exprObj.options = val.$options;
  		}
  
  		payload.push( exprObj );
  	} );
  
  	return payload;
  }
docs: Parses a query request and builds an object that can used to process a query target
  @private
  @param {object} obj The expression object
  @returns {object} All components of the expression in a kind of execution tree