protected function gatherUserAgentData()
    {
        // User agent container
        $userAgents = ['original' => null, 'nodes_meta' => null];

        // Retrieve original user agent
        $originalUserAgent = user_agent();
        if (!empty($originalUserAgent)) {
            $userAgents['original'] = [
                'browser'  => $originalUserAgent->getBrowserWithVersion(),
                'platform' => $originalUserAgent->getPlatform(),
                'device'   => $originalUserAgent->getDevice(),
                'isMobile' => $originalUserAgent->isMobile(),
                'isTablet' => $originalUserAgent->isTablet(),
            ];
        }

        // Retrieve nodes user agent
        $nodesUserAgent = nodes_meta();
        if (!empty($nodesUserAgent)) {
            $userAgents['nodes_meta'] = [
                'version'  => $nodesUserAgent->getVersion(),
                'platform' => $nodesUserAgent->getPlatform(),
                'device'   => $nodesUserAgent->getDevice(),
            ];
        }

        return $userAgents;
    }