Expression IArgumentProvider.GetArgument(int index)
{
switch (index)
{
case 0: return ExpressionUtils.ReturnObject<Expression>(_arg0);
case 1: return _arg1;
case 2: return _arg2;
case 3: return _arg3;
default: throw new ArgumentOutOfRangeException(nameof(index));
}
}