public static void AddErrorOrThrow(this ModelErrors errors, ModelErrorInfo modelErrorInfo, Func <string, Exception> generator = null) { if ((object)errors == null) { if (generator == null) { throw new ModelException(string.Empty, new ModelErrors(modelErrorInfo)); } else { throw (generator(modelErrorInfo.ToString())); } } else { errors.Errors?.Add(modelErrorInfo); } }