public DataObjectViewModel ShowObject(IDataObject obj, ControlKind requestedKind = null, bool activate = true)
{
obj = obj == null || obj.Context == DataContext
? obj
: DataContext.Find(obj.Context.GetInterfaceType(obj), obj.ID);
var vm = DataObjectViewModel.Fetch(ViewModelFactory, DataContext, this, obj);
if (!Items.Contains(vm))
{
vm.RequestedKind = requestedKind;
AddItem(vm);
}
if (activate)
{
SelectedItem = vm;
}
return vm;
}