public function priorityFor(string $mimeType): float
    {
        if (!isset($this->acceptables[$mimeType])) {
            if ($this->count() === 0) {
                return 1.0;
            } elseif (isset($this->acceptables['*/*'])) {
                return $this->acceptables['*/*'];
            }

            list($maintype) = explode('/', $mimeType);
            return $this->acceptables[$maintype . '/*'] ?? 0;
        }

        return $this->acceptables[$mimeType];
    }