private ExternalValueExpression DeriveMemberAccessParameter(ExternalValueExpression oldPrm, MemberInfo memberInfo, TranslationContext context) { MemberExpression newSource = Expression.MakeMemberAccess(oldPrm.SourceExpression, memberInfo); Expression safeNewSource = newSource; if(!memberInfo.IsStaticMember() && oldPrm.Type.IsInterface) safeNewSource = MakeSafeEntityParameterMemberAccess(newSource); return DeriveInputParameter(oldPrm, safeNewSource, context); }