private void addItemToGui(QbItemBase itm, int indent)
{
//let exceptions be raised
ListViewItem li = new ListViewItem(itm.QbItemType.ToString());
li.IndentCount = indent;
if (itm.DebugName.Length != 0)
li.SubItems.Add(itm.DebugName);
else if (itm.ItemQbKey != null && itm.ItemQbKey.Crc != 0)
li.SubItems.Add(itm.ItemQbKey.Crc.ToString("X").PadLeft(8, '0'));
else
li.SubItems.Add(string.Empty);
li.SubItems.Add(getValueForList(itm));
li.SubItems.Add(string.Format("{0} ({1})", itm.Position.ToString("X").PadLeft(8, '0'), itm.Position.ToString()));
li.SubItems.Add(itm.Length.ToString());
li.SubItems.Add(itm.GetType().Name);
li.ImageIndex = getQbItemImageIndex(itm.QbItemType);
li.Tag = itm; //hold a reference to the item
lstQbItems.Items.Add(li);
}