     @private
     ###
     setSubModelArrToModel: (model, prop, arr) ->
-
-        subModelName = model.constructor.properties[prop].model
+        if not Array.isArray arr
+            model.setNonModelProp(prop, arr)
+            return
+
+        subModelName = model.getTypeInfo(prop).model
 
         useAnonymousFactory = on # if no factory is declared, altered one is used 
         subModelFactory = @getFacade().createFactory(subModelName, useAnonymousFactory)

    ###
    fetchSubModel: (model, prop) ->

        typeInfo = model.constructor.properties[prop]

        idPropName = typeInfo.idPropName


    ###
    setSubModelToModel: (model, prop, value) ->

        subModelName = model.getTypeInfo(prop).model

        useAnonymousFactory = on # if no factory is declared, altered one is used 
        subModelFactory = @getFacade().createFactory(subModelName, useAnonymousFactory)
