private IEnumerator Wrap(CoroutineChainLink link)
        {
            SafeCoroutine safeCoroutine = new SafeCoroutine();
              safeCoroutine.Coroutine = StartCoroutine(safeCoroutine.RunCoroutine(link.CoOnStart()));
              yield return safeCoroutine.Coroutine;

              if (safeCoroutine.Exception != null) {
            link.OnFailure(safeCoroutine.Exception);
              }
        }
 public void Enqueue(CoroutineChainLink link)
 {
     queue.Enqueue(link);
 }