public override void VisitReturn([NotNull] IReturnOperation operation)
            {
                if (scopeDepth == 0 && operation.ReturnedValue != null && !ReturnsConstant(operation.ReturnedValue) &&
                    MethodSignatureTypeIsEnumerable(operation.ReturnedValue))
                {
                    ITypeSymbol returnValueType = operation.ReturnedValue.SkipTypeConversions().Type;

                    if (sequenceTypeInfo.IsQueryable(returnValueType))
                    {
                        ReportDiagnosticAt(operation, QueryableOperationName, context);
                    }
                    else if (sequenceTypeInfo.IsNonQueryableSequenceType(returnValueType))
                    {
                        ReturnStatements.Add(operation);
                    }
                    // ReSharper disable once RedundantIfElseBlock
                    else
                    {
                        // No action required.
                    }
                }

                base.VisitReturn(operation);
            }