                     
                 }
                 propertyHandlingStr = propertyHandlingStr.stringByReplacingOccurrencesOfString(varName, withString:property.nativeName)
+                
                 propertyHandlingStr = propertyHandlingStr.stringByReplacingOccurrencesOfString(varType, withString:property.type)
+                
                 propertyHandlingStr = propertyHandlingStr.stringByReplacingOccurrencesOfString(jsonKeyName, withString:property.jsonName)
+                
                 propertyHandlingStr = propertyHandlingStr.stringByReplacingOccurrencesOfString(additionalCustomTypeProperty, withString:"")
+                
                 fileContent += propertyHandlingStr
             }
             fileContent += method.returnStatement

    /**
    Removes any "array-specific character or words" from the passed type to return the type of the array elements. The "array-specific character or words" are fetched from the lang.wordsToRemoveToGetArrayElementsType property
    */
    func elementTypeNameFromArrayProperty(arrayTypeName : String) -> String
    {
        
        var type = arrayTypeName
        
        for arrayWord in lang.wordsToRemoveToGetArrayElementsType{
            type = type.stringByReplacingOccurrencesOfString(arrayWord, withString: "")
        }
        return type
    }

        if(propertyTypeIsBasicType(property)){
            
            if constructor.fetchArrayOfBasicTypePropertyFromMap != nil{
                let type = propertyTypeWithoutArrayWords(property)
                let index = find(lang.basicTypesWithSpecialFetchingNeeds, type)
                if index != nil{
                    propertyStr = constructor.fetchArrayOfBasicTypePropertyFromMap
