public NewExpression(ConstructorInfo constructor, IEnumerable <Expression>?arguments, IEnumerable <MemberInfo>?members = null) : this(constructor.CheckNotNull(nameof(constructor)).DeclaringType ?? throw new ArgumentException($"{nameof(ConstructorInfo.DeclaringType)} not set", nameof(constructor))) { Constructor = constructor; Arguments = arguments?.ToList(); Members = members?.ToList(); }