private object[] GetArguments(ExpressionState state) { var arguments = new object[ChildCount]; for (var i = 0; i < arguments.Length; i++) { // Make the root object the active context again for evaluating the parameter expressions try { state.PushActiveContextObject(state.GetScopeRootContextObject()); arguments[i] = _children[i].GetValueInternal(state).Value; } finally { state.PopActiveContextObject(); } } return(arguments); }