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);
        }