 		}
 
 		if (sourceProperty is ArrayCollection) {
-			copyArrayCollection(targetObj, propertyName, sourceProperty);
+			copyArrayCollection(sourceObj, targetObj, propertyName);
 			return;
 		}
 

				new ArrayList();
	}

	dolly_internal static function copyArrayCollection(targetObj:*, propertyName:String, sourceProperty:*):void {
		const arrayCollection:ArrayCollection = (sourceProperty as ArrayCollection);
		targetObj[propertyName] = arrayCollection.source ?
				new ArrayCollection(arrayCollection.source.slice()) :
				new ArrayCollection();

		}

		if (sourceProperty is ArrayCollection) {
			copyArrayCollection(sourceObj, targetObj, propertyName);
			return;
		}

