System.out.println("eeek!");
throw new InvalidParameterException("unknown opmode " + opmode + " passed to ElGamal");
    protected void engineInit(        int                     opmode,        Key                     key,        AlgorithmParameterSpec  params,        SecureRandom            random)     throws InvalidKeyException    {        CipherParameters        param;        if (params == null)        {            if (key instanceof ElGamalPublicKey)            {                param = ElGamalUtil.generatePublicKeyParameter((PublicKey)key);            }            else if (key instanceof ElGamalPrivateKey)            {                param = ElGamalUtil.generatePrivateKeyParameter((PrivateKey)key);            }            else            {                throw new InvalidKeyException("unknown key type passed to ElGamal");            }        }        else        {            throw new IllegalArgumentException("unknown parameter type.");        }        if (random != null)        {            param = new ParametersWithRandom(param, random);        }        switch (opmode)        {        case Cipher.ENCRYPT_MODE:        case Cipher.WRAP_MODE:            cipher.init(true, param);            break;        case Cipher.DECRYPT_MODE:        case Cipher.UNWRAP_MODE:            cipher.init(false, param);            break;        default:            System.out.println("eeek!");        }    }