protected function getDistalCause(\Exception $exception)
    {
        if (($previous = $exception->getPrevious())) {
            return $this->getDistalCause($previous);
        }
        return $exception;
    }