public static bool CheckAccessOrBeginInvoke(this JasilyDispatcher dispatcher, Action action)
        {
            if (dispatcher.CheckAccess())
            {
                return(true);
            }

            dispatcher.BeginInvoke(action);

            return(false);
        }
        public static bool CheckAccessOrBeginInvoke <T1, T2>(this JasilyDispatcher dispatcher, Action <T1, T2> action, T1 t1, T2 t2)
        {
            if (dispatcher.CheckAccess())
            {
                return(true);
            }

            dispatcher.BeginInvoke(() => action(t1, t2));

            return(false);
        }
        public static bool CheckAccessOrInvoke <T>(this JasilyDispatcher dispatcher, Action <T> action, T t)
        {
            if (dispatcher.CheckAccess())
            {
                return(true);
            }

            dispatcher.Invoke(() => action(t));

            return(false);
        }