     :param: preferedLanguageExpressions Expressions from expressions.json
     :param: baseLanguageExpressions Expressions from base section of 
             expression.json.
-    
     :returns: array of shared expressions for Base and preferred language.
     */
     class func processSharedExpression(preferedLanguage: CountryCode, preferedLanguageExpressions: [SharedExpression], baseLanguageExpressions: [SharedExpression]) -> [SharedExpression] {

        To get it done we must get only unique built-in expressions that are not 
        in loaded expressions.
        */
        let uniqueBuiltInExpressions = builtInExpressions.filter({
            let builtIn = $0
            return loadedExpressions.filter({$0.identifier == builtIn.identifier}).count == 0
        })
        
        return loadedExpressions + uniqueBuiltInExpressions
    }
    
    /**

        and this is good as base expression.
        2. He forgot to define such expression for prefered language.
        */
        let uniqueBaseExpressions = baseLanguageExpressions <! preferedLanguageExpressions
        
        // Expressions from json files.
        var loadedExpressions = uniqueBaseExpressions + preferedLanguageExpressions
        
        // Load prefered language nad base built-in expressions. Get unique.
        let prefBuiltInExpressions = loadBuiltInExpressions(preferedLanguage)
        let baseBuiltInExpressions = SharedBaseExpression.allExpressions()
        let uniqueBaseBuiltInExpressions = baseBuiltInExpressions <! prefBuiltInExpressions
        
        // Unique built-in expressions made of base + prefered language.
        let builtInExpressions = uniqueBaseBuiltInExpressions + prefBuiltInExpressions
