public void Activate(ActivationContext <T> context) { _propertyAction(context.Fact, propertyValue => { TValue value; if (_propertySelector.TryGetValue(propertyValue, out value)) { ActivationContext <Token <T, TValue> > propertyContext = context.CreateContext(new Token <T, TValue>(context, value)); base.Activate(propertyContext); } }); }