private static Expression GetTargetObject(MethodInvocationExpression node)
{
var target = node.Target;
// Skip over generic reference expressions
var genericRef = target as GenericReferenceExpression;
if (genericRef != null)
target = genericRef.Target;
var memberRef = target as MemberReferenceExpression;
if (memberRef != null)
return memberRef.Target;
return null;
}