public static function add( $queryString, $objectID, $languageCode = self::WILDCARD )
    {
        $db = eZDB::instance();
        $queryString = $db->escapeString( $queryString );

        if ( $languageCode === self::WILDCARD )
        {
            self::purge( $queryString, $objectID );
        }
        else
        {
            // trying to insert an elevate configuration row for a specific language, while one already exists for all languages.
            if ( parent::fetchObject( self::definition(), null, array( 'contentobject_id' => $objectID, 'search_query' => $queryString, 'language_code' => self::WILDCARD ) ) )
                return null;
        }

        $row = array( 'search_query'     => $queryString,
                      'contentobject_id' => $objectID,
                      'language_code'    => $languageCode );

        $conf = new eZFindElevateConfiguration( $row );
        $conf->store();
        return $conf;
    }