     // mapping setting
     let replacePropertyName = self.getMappingReplaceProperty()
     let ignorePropertyNames = self.getMappingIgnorePropertyNames()
+    let mappingObjectClass = self.getMappingObjectClass()
     debugPrint("replacePropertyName: ", replacePropertyName)
     debugPrint("ignorePropertyNames: ", ignorePropertyNames)
     

    mappingObjectClass = res.takeUnretainedValue() as! [String: AnyClass]
    return mappingObjectClass
  }
}

    }
  }
  
  private func mapSubObject(key: String, jsonKey: String, mappingObjectClass: [String: AnyClass], inout value: AnyObject) {
    guard let objClass = mappingObjectClass[jsonKey] as? NSObject.Type else {
      fatalError("Reflect error: Sub-model is not a subclass of NSObject")
    }
    let model = objClass.init()
    guard value is NSDictionary || value is [String: AnyObject] else {
      debugPrint("Reflect error: Error key: \(key) -- mapping sub-model without a dictionary json")
      return
    }
    model.mapProperty(value)
    value = model
  }
  
  private func mapSubObjectArray(key: String, jsonKey: String, inout value: AnyObject) {
    let mappingElementClass = self.getMappingElementClass()
    guard mappingElementClass.keys.contains(jsonKey) else {return}
    guard let objClass = mappingElementClass[jsonKey] as? NSObject.Type else {
      fatalError("Reflect error: Sub-model is not a subclass of NSObject")
    }
    let model = objClass.init()
