                                 guard
                                 
                                     let jsonExampleMap:[String:Any] = jsonExample as? [String:Any],
-                                    let jsonExampleText:String = jsonExampleMap[kKeyText] as? String
+                                    let jsonExampleText:String = jsonExampleMap[
+                                        MSearchSynonyms.kKeyText] as? String
                                 
                                 else
                                 {
                                     continue
                                 }
                                 
+                                if !mutableString.string.isEmpty
+                                {
+                                    mutableString.append(stringBreak)
+                                }
                                 
+                                let stringExample:NSAttributedString = NSAttributedString(
+                                    string:jsonExampleText,
+                                    attributes:attributesExample)
+                                
+                                mutableString.append(stringExample)
                             }
                         }
                         
-                        if let jsonSynonyms:[Any] = jsonSenseMap[kKeySynonyms] as? [Any]
+                        if let synonymsString:NSAttributedString = MSearchSynonyms.parseSynonyms(
+                            json:jsonSenseMap,
+                            attributes:attributesSenses)
                         {
-                            
+                            mutableString.append(synonymsString)
                         }
                         
-                        if let jsonSubsenses[Any] = jsonSenseMap[kKeySubsenses] as? [Any]
+                        if let jsonSubsenses:[Any] = jsonSenseMap[kKeySubsenses] as? [Any]
                         {
-                            
+                            for jsonSubsense:Any in jsonSubsenses
+                            {
+                                guard
+                                
+                                    let jsonSubsenseMap:[String:Any] = jsonSubsense as? [String:Any]
+                                
+                                else
+                                {
+                                    continue
+                                }
+                                
+                                if let synonymsString:NSAttributedString = MSearchSynonyms.parseSynonyms(
+                                    json:jsonSubsenseMap,
+                                    attributes:attributesSubsenses)
+                                {
+                                    mutableString.append(synonymsString)
+                                }
+                            }
                         }
                     }
                 }
             }
         }
+        
+        attributedString = mutableString
     }
 }


class MSearchSynonyms
{
    private let kKeyResults:String = "results"
    private let kKeyLexicalEntries:String = "lexicalEntries"
    private let kKeyEntries:String = "entries"
    private let kKeySenses:String = "senses"
    private let kKeyExamples:String = "examples"
    private let kKeySynonyms:String = "synonyms"
    private let kKeySubsenses:String = "subsenses"
    private let kKeyText:String = "text"
    private let kExampleFontSize:CGFloat = 18
    private let kSenseSynonymFontSize:CGFloat = 18
    private let kSubsenseSynonymFontSize:CGFloat = 16
    
    init?(json:Any)
    {
        guard
        
            let jsonMap:[String:Any] = json as? [String:Any],

        
        else
        {
            attributedString = mutableString
            
            return
        }
        
        let attributesExample:[String:AnyObject] = [
            NSFontAttributeName:UIFont.medium(size:kExampleFontSize),
            NSForegroundColorAttributeName:UIColor(white:0.5, alpha:1)]
        let attributesSenses:[String:AnyObject] = [
            NSFontAttributeName:UIFont.regular(size:kSensesFontSize)]
        let attributesSubsenses:[String:AnyObject] = [
            NSFontAttributeName:UIFont.regular(size:kSubsensesFontSize)]
        
        let stringBreak:NSAttributedString = NSAttributedString(
            string:kBreak,
            attributes:attributesExample)
        
        for jsonResult:Any in jsonResults
        {
