public void Recursive()
            {
                var testCode      = @"
namespace RoslynSandbox
{
    using System.IO;

    public class Foo
    {
        public string Bar()
        {
            using (var reader = GetReader(File.OpenRead(string.Empty)))
            {
                return reader.ReadLine();
            }
        }

        private static StreamReader GetReader(Stream stream)
        {
            return GetReader(stream);
        }
    }
}";
                var syntaxTree    = CSharpSyntaxTree.ParseText(testCode);
                var compilation   = CSharpCompilation.Create("test", new[] { syntaxTree }, MetadataReferences.FromAttributes());
                var semanticModel = compilation.GetSemanticModel(syntaxTree);
                var value         = syntaxTree.FindArgument("File.OpenRead(string.Empty)");

                Assert.AreEqual(Result.No, Disposable.IsArgumentDisposedByReturnValue(value, semanticModel, CancellationToken.None));
            }