Extending C# Listview with Collapsible Groups (Part I)