private bool IsExecutionDeferred([NotNull] IInvocationExpression operation)
                {
                    if (LinqOperatorsDeferred.Contains(operation.TargetMethod.Name))
                    {
                        Result.SetDeferred(operation.TargetMethod.Name);
                        return(true);
                    }

                    return(false);
                }
                private bool IsExecutionDeferred([NotNull] IInvocationOperation operation)
                {
                    if (LinqOperatorsDeferred.Contains(operation.TargetMethod.Name))
                    {
                        if (operation.TargetMethod.ContainingType.SpecialType != SpecialType.System_String)
                        {
                            Result.SetDeferred(operation.TargetMethod.Name);
                            return(true);
                        }
                    }

                    return(false);
                }
            public override void VisitInvocationExpression([NotNull] IInvocationExpression operation)
            {
                base.VisitInvocationExpression(operation);

                if (operation.Instance == null)
                {
                    if (LinqOperatorsDeferred.Contains(operation.TargetMethod.Name))
                    {
                        Result.SetDeferred(operation.TargetMethod.Name);
                        return;
                    }
                    if (LinqOperatorsImmediate.Contains(operation.TargetMethod.Name))
                    {
                        Result.SetImmediate();
                        return;
                    }
                }

                Result.SetUnknown();
            }