public MyReportBase Print(Action <XtraReport> printAction) { var actions = OnGetDefautActions(); var defaultFacade = new XRRuntimeActionFacade(actions.ToArray()); _toDos = new List <IReportRuntimeAction>(); OnRegisterAdditionalActions(); var additionalActionsFacade = new XRRuntimeActionFacade(_toDos.ToArray()); var newView = _view.ConvertReportToMyReportBase(); newView.RootHashCode = newView.GetHashCode(); _subscriber = new ScopedXRSubscriber(newView.RootHashCode, c => { defaultFacade.AttemptActionsOnControl(c); additionalActionsFacade.AttemptActionsOnControl(c); if (_injectedFacade != null) { _injectedFacade.AttemptActionsOnControl(c); } }); printAction(newView); return(newView); }