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;
 }