             {
                 assertEquals(indexes[i], _sut.getItemAt(i));
             }
+        }
+
+        private function assertGetItemIndex(items:IList):void
+        {
+            for(var i:int = 0; i < items.length; i++)
+            {
+                var target:ListCollectionView_Sort_VO = items.getItemAt(i) as ListCollectionView_Sort_VO;
+                assertThat("could not find " + target.name, _sut.getItemIndex(target) != -1); //in some bugs, an RTE is thrown here
+            }
+        }
+
+        private function assertRemoveAll():void
+        {
+            _sut.removeAll(); //in some bugs, an RTE is thrown here
+            assertEquals(0, _sut.length);
         }
 
 

            }
        }



        private function assertItemsAre(indexes:Array):void
        {
            assertEquals(indexes.length, _sut.length);

            _sut.refresh(); //values["name"]: Object4, Object3, Object2, Object1, Object0

            //when
            const addedItem:ListCollectionView_Sort_VO = generateOneObject(6);
            _sut.setItemAt(addedItem, 1);

            //then
            assertIndexesAre([6, 4, 2, 1, 0]);
            const itemsInSUT:ListCollectionView = new ListCollectionView(new ArrayList());
            itemsInSUT.addAll(from0To4);
            itemsInSUT.setItemAt(addedItem, 3);
            assertGetItemIndex(itemsInSUT);

            assertRemoveAll();
        }

        [Test]
