 
 		if original?
 			assert.instanceOf original, Component
+
+			while original.parent
+				original = original.parent
 
 		@id = original?.id or utils.uid()
 		@item = null

		for ext in item._extensions
			# extension can be already cloned if it has an id
			cloneExt = components[ext._component.id]?.objects[ext.id]
			cloneExt ?= cloneObject ext, components, parentComponent
			cloneExt.target = clone

		if item instanceof Renderer.Item


		return

	endComponentCloning = (comp, components, createdComponents) ->
		# clone no children objects (e.g. links)
		for id, obj of comp.parent.objects
			unless comp.objects[id]
				newObj = cloneObject obj, components, createdComponents, comp

		# initialize component
		comp.init()
		return

	cloneObject = (item, components, createdComponents, parentComponent) ->
		# get cloned item component
		needsNewComp = false
		itemCompId = item._component.id
