public VisualTreeRunContext( IDIIntegration diIntegration, DependencyObject root, string targetMethodName, IEnumerable <object?> inputParameters) { DIIntegration = diIntegration; Root = root; TargetMethodName = targetMethodName; InputParameters = inputParameters.ToArray(); Targets = TargetSelector.ResolveTarget( Root, diIntegration.GetRequired <TargetListCompositeExpander>()); CandidateParameters = DIIntegration.GetRequired <ParameterListCompositeExpander>() .Expand(InputParameters.Concat(Targets)); }