 		commons.arrayValueBlock = nil
 	}
 	
-	fileprivate func jsonArray(fromObjects objects: [AnyObject], withTypeInfo typeInfo: TypeInfo) -> AnyObject {
+	fileprivate func jsonArray(fromObjects objects: [AnyObject], withTypeInfo typeInfo: TypeInfo, withConfig config: JsonConfig? = nil) -> AnyObject {
 		if self.commons.isPrimitiveType(typeInfo.typeName) {
 			return objects as AnyObject
 		}

		var jsonArray = [AnyObject]()
		
		for obj in objects {
			let jObj = self.commons.write(fromObject: obj as! NSObject)
			jsonArray.append(jObj as AnyObject)
		}
		

		return String(data: data, encoding: .utf8)
	}
	
	fileprivate func setupCommons(withConfig config: JsonConfig? = nil) {
		self.commons.valueBlock = { (instance: AnyObject, value, key) -> AnyObject? in
			return (instance as! NSObject).value(forKey: key) as AnyObject
		}
