protected override bool TryExecuteTaskInline(Task task, bool taskWasPreviouslyQueued)
{
// 1. Tasks using fiber schedulers have thread affinity and must run on the thread the scheduler was created on.
// 2. Fiber tasks cannot run inline here because they may yield which is only handled when queued.
//
// That being said, the fiber scheduler may choose to inline anyway when
// queueing occurs on the scheduler thread, it just doesn't happen in this method.
if(scheduler.SchedulerThread != Thread.CurrentThread || task is YieldableTask)
return false;
return TryExecuteTask(task);
}