public QuerySecurityPrincipalBehavior(
     ISecurityPrincipalProvider securityPrincipalProvider,
     IQueryHandler <TQuery, TResult> decoratee)
 {
     _securutyPrincipalProvider = securityPrincipalProvider
                                  ?? throw new ArgumentNullException(nameof(securityPrincipalProvider));
     _decoratee = decoratee ?? throw new ArgumentNullException(nameof(decoratee));
 }
 public CommandSecurityPrincipalBehavior(
     ISecurityPrincipalProvider securityPrincipalProvider,
     ICommandHandler <TCommand> decoratee)
 {
     _securityPrincipalProvider = securityPrincipalProvider
                                  ?? throw new ArgumentNullException(nameof(securityPrincipalProvider));
     _decoratee = decoratee ?? throw new ArgumentNullException(nameof(decoratee));
 }