private IEnumerator Coroutine1(Logger logger, UniRx.IObservable <string> stream)
        {
            logger.Add("1");
            yield return(null);

            logger.Add("Subscribe");
            var yieldInstruction = stream.Take(3).Do(new TestObserver <string>(logger)).ToYieldInstruction();

            yield return(yieldInstruction);

            if (yieldInstruction.HasError)
            {
                logger.Add($"Error:{yieldInstruction.Error.Message}");
                yield break;
            }

            if (yieldInstruction.HasResult)
            {
                logger.Add($"Result:{yieldInstruction.Result}");
            }
            yield return(null);

            logger.Add("2");
        }