function storeVersioned( $version )
    {
        $dataType = $this->dataType();
        if ( !$dataType )
        {
            return false;
        }

        self::expireCache( $this->ID, $this->attribute( 'contentclass_id' ) );

        $db = eZDB::instance();
        $db->begin();
        $dataType->preStoreVersionedClassAttribute( $this, $version );

        $this->setAttribute( 'serialized_name_list', $this->NameList->serializeNames() );
        $this->setAttribute( 'serialized_description_list', $this->DescriptionList->serializeNames() );
        $this->setAttribute( 'serialized_data_text', $this->DataTextI18nList->serializeNames() );

        parent::store();

        // store the content data for this attribute
        $dataType->storeVersionedClassAttribute( $this, $version );
        $db->commit();
    }