public virtual Task Dispatch(Action action) { CheckIfDisposed(); if (isCurrentThreadInThisStrand()) { return(TaskEx.TaskFromSynchronnousAction(action)); } return(Post(action)); }