private bool IsGeneratedClosureMember(MemberExpression node)
{
// Closure types are internal classes that are compiler generated in our own assembly
return node.Expression != null &&
node.Member != null &&
node.Expression.NodeType == ExpressionType.Constant &&
node.Member.MemberType == MemberTypes.Field &&
!node.Expression.Type.IsVisible &&
CheckAssembly(node.Member) &&
IsCompilerGenerated(node.Expression.Type);
}