public void test8()
        throws Exception
    {
        PGPPublicKeyRingCollection    pubRings = new PGPPublicKeyRingCollection(pub8);

        int                           count = 0;

        byte[]    encRing = pubRings.getEncoded();

        pubRings = new PGPPublicKeyRingCollection(encRing);
        
        Iterator    rIt = pubRings.getKeyRings();
        
        while (rIt.hasNext())
        {
            PGPPublicKeyRing          pgpPub = (PGPPublicKeyRing)rIt.next();
            
            count++;
            
            int    keyCount = 0;
            
            byte[]    bytes = pgpPub.getEncoded();
            
            pgpPub = new PGPPublicKeyRing(bytes, new BcKeyFingerprintCalculator());
            
            Iterator    it = pgpPub.getPublicKeys();
            while (it.hasNext())
            {
                keyCount++;

                it.next();
            }
            
            if (keyCount != 2)
            {
                fail("wrong number of public keys");
            }
        }
        
        if (count != 2)
        {
            fail("wrong number of public keyrings");
        }
        
        PGPSecretKeyRingCollection    secretRings = new PGPSecretKeyRingCollection(sec8);

        rIt = secretRings.getKeyRings();
        count = 0;
        
        encRing = secretRings.getEncoded();
        
        secretRings = new PGPSecretKeyRingCollection(encRing);
        
        while (rIt.hasNext())
        {
            PGPSecretKeyRing         pgpSec = (PGPSecretKeyRing)rIt.next();
    
            count++;
            
            int    keyCount = 0;
            
            byte[]    bytes = pgpSec.getEncoded();
            
            pgpSec = new PGPSecretKeyRing(bytes, new BcKeyFingerprintCalculator());
            
            Iterator    it = pgpSec.getSecretKeys();
            while (it.hasNext())
            {
                keyCount++;

                PGPSecretKey    k = (PGPSecretKey)it.next();

                k.extractPrivateKey(new BcPBESecretKeyDecryptorBuilder(new BcPGPDigestCalculatorProvider()).build(sec8pass));
            }
            
            if (keyCount != 2)
            {
                fail("wrong number of secret keys");
            }
        }
        
        if (count != 1)
        {
            fail("wrong number of secret keyrings");
        }
    }