private function parseAsk ( $text, WikiObjectModelCollection $parentObj ) {
		if ( !defined( 'SMW_VERSION' ) ) return null;

		if ( trim( strtolower( $parentObj->getFunctionKey() ) ) != 'ask' ) return null;

		if ( count ( $parentObj->getObjects() ) == 0 ) {
			return array( 'len' => 0, 'obj' => new WOMQuerystringModel() );
		}

		if ( defined( 'SMW_AGGREGATION_VERSION' ) ) {
			$r = preg_match( '/^(\s*\?([^>=|}]+)(?:\>([^=|}]*))?(?:=([^|}]*))?)(\||\}|$)/', $text, $m );
			if ( !$r ) return null;
			return array(
				'len' => strlen( $m[5] == '|' ? $m[0] : $m[1] ),
				'obj' => new WOMQueryPrintoutModel( trim( $m[2] ), trim( $m[4] ), trim( $m[3] ) ) );
		} else {
			$r = preg_match( '/^(\s*\?([^=|}]+)(?:=([^|}]*))?)(\||\}|$)/', $text, $m );
			if ( !$r ) return null;
			return array(
				'len' => strlen( $m[4] == '|' ? $m[0] : $m[1] ),
				'obj' => new WOMQueryPrintoutModel( trim( $m[2] ), trim( $m[3] ) ) );
		}
	}