public function originatingIpAddress()
    {
        try {
            if ($this->headers->contain('HTTP_X_FORWARDED_FOR')) {
                $remoteAddresses = explode(',', $this->headers->value('HTTP_X_FORWARDED_FOR')->value());
                return new IpAddress(trim($remoteAddresses[0]));
            }

            if ($this->headers->contain('REMOTE_ADDR')) {
                return new IpAddress($this->headers->value('REMOTE_ADDR')->value());
            }
        } catch (\InvalidArgumentException $iae) {
            // treat as if no ip address available
        }

        return null;
    }