/**
  * Constructor.
  *
  * {@inheritdoc}
  *
  * @param Authorizable $record
  * @param Policy $policy
  * @param string $action
  * @param string $reason [optional]
  */
 public function __construct(Authorizable $record, Policy $policy, $action, $reason = '')
 {
     $this->record = $record;
     $this->policy = $policy;
     $this->action = $action;
     $this->reason = $reason;
     parent::__construct($this->message());
 }
 public function __construct($message = null, \Exception $previous = null, $code = 0)
 {
     $message = is_null($message) ? trans('Access Denied') : $message;
     parent::__construct($message, $previous, $code);
 }