@Override
    public void decryptKey(EncryptionKey key) {
        assert plainKey != null;
        if (!(key instanceof NormalKey)) {
            throw new IllegalArgumentException("NormalKey cannot not decrypt " + key.getClass().getName());
        }
        NormalKey normalKey = (NormalKey) key;
        normalKey.setPlainKey(unwrapKey(algorithm, normalKey.getEncryptedKey()));
    }
@Test
    public void testDecryptKey() {
        NormalKey newKey = (NormalKey) normalKey.generateKey();
        byte[] plainKey = newKey.getPlainKey();
        newKey.setPlainKey(null);
        normalKey.decryptKey(newKey);
        assertArrayEquals(newKey.getPlainKey(), plainKey);
    }