public static function reverseIpv6(string $ip, bool $appendSuffix = true): string
    {
        try {
            $ip = self::expandIpv6($ip);
        } catch (\InvalidArgumentException $e) {
            $ip = self::expandIncompleteIpv6($ip);
        }

        $ip = str_replace(':', '', $ip);
        $ip = strrev($ip);
        $ip = implode('.', str_split($ip));
        $ip .= $appendSuffix ? '.ip6.arpa.' : '';

        return $ip;
    }