protected override ObservableCollection<ICommandViewModel> CreateCommands()
{
var result = base.CreateCommands();
var showOpenCommand = AllowOpen && (OpenCommand == DefaultCommand);
var showDefaultCommand = OpenCommand != DefaultCommand;
if (AllowAddNew) result.Add(NewCommand);
if (showOpenCommand) result.Add(OpenCommand);
if (showDefaultCommand) result.Add(DefaultCommand);
result.Add(RefreshCommand);
if (AllowDelete) result.Add(DeleteCommand);
if (AllowExport) result.Add(ExportContainerCommand);
if (AllowMerge) result.Add(MergeCommand);
return result;
}