protected override void Execute(Catalogue catalogue, string sourceName, string[] allEventNames, string[] eventNames) { var sourceType = catalogue.GetSearcher().GetSource(sourceName); if (sourceType == null) { var catalogueName = new CatalogueName(sourceName); var parent = catalogue.EnsureSourceParent(catalogueName.Namespace); parent.Add(catalogue.CreateSource(parent, catalogueName.Name, allEventNames.Except(eventNames).ToArray()), true); } else { sourceType.DisableEvents(eventNames); } catalogue.Commit(); }