imho вы не должны использовать рамки проверки простых параметров, поскольку они являются контрактом для метода.
Это все равно, что бросить ArgumentNullException
, если параметр User owner
равен нулю, а затем проверить его на фактическом User
объекте.
Если вам нужна проверка, поместите все аргументы метода в класс и проверьте этот класс.