Comments updated.
if-clause had been improved(e.Handled = true moved to the end)
Check for null added to GetListItemByIndex.