     }
 
 
+
     // MARK: - Data
 
 
 
 
     /// Sets the data value for a given key for the designated LanguageCode
+    /// If the value equals the base value we do not create a localized data
     ///
     /// - Parameters:
     ///   - key: the key



    /// Sets the string value for a given key for the designated LanguageCode
    ///
    /// - Parameters:
    ///   - key: the key

            return datum.dataValue!
        })
    }


    // MARK: - Deletion


    /// Deletes the associated LocalizedDatum if there is one
    ///
    /// - Parameters:
    ///   - key: for a given key
    ///   - languageCode: and a given language code
    open func deleteKey(key:String,languageCode:String)throws->(){
        let localizedDatas:[LocalizedDatum] = self._reference.relations(Relationship.owns)
        if let localizedDatum:LocalizedDatum = localizedDatas.first(where: { (datum) -> Bool in
            return datum.key == key && datum.languageCode == languageCode
        }){
            try localizedDatum.erase()
        }
    }

}
