         if (!iteratorValid)
             return;
 
-        if (!collection)
+        if (!collection || collection.length == 0)
             return;
 
         switch (event.keyCode)

            }

            len = selectionDataArray.length;
            if (len)
            {
                uid = itemToUID(selectionDataArray[0].data);
                insertSelectionDataBefore(uid, selectionDataArray[0], firstSelectionData);
            }
            for (i = 1; i < len; i++)
            {
                uid = itemToUID(selectionDataArray[i].data);
                insertSelectionDataAfter(uid, selectionDataArray[i], selectionDataArray[i - 1]);
            }
            selectionDataArray = null;
            proposedSelectedItemIndexes = null;

 *  columns for a TileList layed out horizontally, you will get striping.  If
 *  the number of columns is an odd number, you will get a checkerboard pattern.
 *  </p>
 *
 *  @default undefined
 *  
