 	        private static var OPERATION_LOCATION:int = 0;
 	        private static var OPERATION_INDEX:int = 0;
 	        for(SELECTED_INDEX = 0; SELECTED_INDEX < NO_ITEMS_IN_HIERARCHY; SELECTED_INDEX++)
-		        for(OPERATION_LOCATION = SELECTED_INDEX -1; OPERATION_LOCATION >= 0; OPERATION_LOCATION--)
+		        for(OPERATION_LOCATION = SELECTED_INDEX; OPERATION_LOCATION >= 0; OPERATION_LOCATION--)
 		            for(OPERATION_INDEX = 0; OPERATION_INDEX < OPERATIONS.length; OPERATION_INDEX++)
 		                positionAndOperation.push([SELECTED_INDEX, OPERATION_LOCATION, OPERATIONS[OPERATION_INDEX]]);
 	    }

	import mx.collections.HierarchicalCollectionViewCursor;
	import mx.collections.IViewCursor;
	import mx.core.FlexGlobals;
	
	import spark.components.WindowedApplication;
	
	import flexunit.framework.AssertionFailedError;

			//remove the item
	        var parentOfItemToRemove:DataNode = _currentHierarchy.getParentItem(itemToDelete) as DataNode;
	        var collectionToChange:ArrayCollection = parentOfItemToRemove ? parentOfItemToRemove.children : _utils.getRoot(_currentHierarchy) as ArrayCollection;
			//trace("REM: sel=" + selectedNode + "; before=" + nextItem);
			_operationPerformedInLastStep = true;
	        collectionToChange.removeItem(itemToDelete);

            return currentWillBeNulled;
	    }


        private function testAddition(where:HierarchicalCollectionViewCursor):Boolean
        {
            var itemBeforeWhichWereAdding:DataNode = where.current as DataNode;
            assertNotNull(itemBeforeWhichWereAdding);
