private void InvokeMethod() { var listBox = (ListBox)PnlPropertyContainer.Children[0]; var paramCtrls = (listBox.Items.Cast <ParamCtrlItemModel>()).ToList(); var methLauncher = new MethodLuncher(_externalServiceMethods, this.SelectedMethod, RunAuthentication, paramCtrls, SelectedEndpoint.Uri); var jsonDecorator = new JsonLauncherDecorator(); jsonDecorator.SetLauncher(methLauncher); var outputLogger = new OutputLogger(); outputLogger.SetLauncher(jsonDecorator); outputLogger.SetSelMethod(SelectedMethod); RichMessage.Document = (FlowDocument)outputLogger.Invoke(); }