public void initialize(AlgorithmParameterSpec paramSpec, SecureRandom secureRandom) throws InvalidAlgorithmParameterException { this.secureRandom = secureRandom; if (paramSpec instanceof ECGenParameterSpec) { initializeGenerator(((ECGenParameterSpec)paramSpec).getName()); } else if (paramSpec instanceof ECNamedCurveGenParameterSpec) { initializeGenerator(((ECNamedCurveGenParameterSpec)paramSpec).getName()); } else if (paramSpec instanceof EdDSAParameterSpec) { initializeGenerator(((EdDSAParameterSpec)paramSpec).getCurveName()); } else if (paramSpec instanceof XDHParameterSpec) { initializeGenerator(((XDHParameterSpec)paramSpec).getCurveName()); } else { throw new InvalidAlgorithmParameterException("invalid parameterSpec: " + paramSpec); } }