public object Deciding(object context) { if (_first.IsSatisfied(context)) { return(_first.Deciding(context)); } if (_second.IsSatisfied(context)) { return(_second.Deciding(context)); } throw new InvalidOperationException("decision tree cannot handle."); }