public void EnableGroups() {
if (this.IsGroupsEnabled || this.IsSearchNavigating) return;
var ptr = Marshal.GetComInterfaceForObject(new VirtualGrouping(this), typeof(IOwnerDataCallback));
this._IIListView.SetOwnerDataCallback(ptr);
Marshal.Release(ptr);
this._IIListView.EnableGroupView(1);
this.IsGroupsEnabled = true;
}