private static KeyPairGenerator getInstance(Instance instance, String algorithm) { KeyPairGenerator kpg; if (instance.impl instanceof KeyPairGenerator) { kpg = (KeyPairGenerator) instance.impl; } else { KeyPairGeneratorSpi spi = (KeyPairGeneratorSpi) instance.impl; kpg = new Delegate(spi, algorithm); } kpg.provider = instance.provider; return kpg; }