private void RegisterSubgroup(Action <IRegister> action, FilterInfo parentInfo)
        {
            var andInfo  = new FilterInfo(store.NextId, parentInfo.DiagInfo, parentInfo.FilterToken, parentInfo.Priority);
            var andGroup = new FilterRegistration(() => new AndGroup(null, andInfo));

            store.RegisterFilter(andGroup);
            action(RegistrationFactory.GetRegistration(store, andInfo.FilterToken, priority));
        }
        public IFilterToken And(IDiagInfo diagInfo, Action <IRegister> action)
        {
            var info     = new FilterInfo(store.NextId, diagInfo, groupToken, priority);
            var andGroup = new FilterRegistration(() => new AndGroup(dependencies, info));

            store.RegisterFilter(andGroup);
            action(RegistrationFactory.GetRegistration(store, info.FilterToken, priority));
            return(info.FilterToken);
        }
 public IRegister Priority(int priority) => RegistrationFactory.GetRegistration(store, null, priority);