Amss.Boilerplate.Persistence.Impl.Utilities.Linq.ExpressionRewriter.CoalesceTerms C# (CSharp) Method

CoalesceTerms() private static method

private static CoalesceTerms ( IEnumerable sourceWithNulls, IEnumerable replacements ) : IEnumerable
sourceWithNulls IEnumerable
replacements IEnumerable
return IEnumerable
        private static IEnumerable<Expression> CoalesceTerms(
            IEnumerable<Expression> sourceWithNulls, IEnumerable<Expression> replacements)
        {
            if (sourceWithNulls != null && replacements != null)
            {
                using (var left = sourceWithNulls.GetEnumerator())
                using (var right = replacements.GetEnumerator())
                {
                    while (left.MoveNext() && right.MoveNext())
                    {
                        yield return left.Current ?? right.Current;
                    }
                }
            }
        }