public class org.bouncycastle.jce.provider.JDKKeyFactory$ElGamal extends org.bouncycastle.jce.provider.JDKKeyFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.bouncycastle.jce.provider.JDKKeyFactory$ElGamal
  super_class: org.bouncycastle.jce.provider.JDKKeyFactory
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bouncycastle.jce.provider.JDKKeyFactory$ElGamal this
         0: .line 482
            aload 0 /* this */
            invokespecial org.bouncycastle.jce.provider.JDKKeyFactory.<init>:()V
         1: .line 484
            aload 0 /* this */
            iconst_1
            putfield org.bouncycastle.jce.provider.JDKKeyFactory$ElGamal.elGamalFactory:Z
         2: .line 485
            return
        end local 0 // org.bouncycastle.jce.provider.JDKKeyFactory$ElGamal this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bouncycastle/jce/provider/JDKKeyFactory$ElGamal;

  protected java.security.PrivateKey engineGeneratePrivate(java.security.spec.KeySpec);
    descriptor: (Ljava/security/spec/KeySpec;)Ljava/security/PrivateKey;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.bouncycastle.jce.provider.JDKKeyFactory$ElGamal this
        start local 1 // java.security.spec.KeySpec keySpec
         0: .line 491
            aload 1 /* keySpec */
            instanceof org.bouncycastle.jce.spec.ElGamalPrivateKeySpec
            ifeq 2
         1: .line 493
            new org.bouncycastle.jce.provider.JCEElGamalPrivateKey
            dup
            aload 1 /* keySpec */
            checkcast org.bouncycastle.jce.spec.ElGamalPrivateKeySpec
            invokespecial org.bouncycastle.jce.provider.JCEElGamalPrivateKey.<init>:(Lorg/bouncycastle/jce/spec/ElGamalPrivateKeySpec;)V
            areturn
         2: .line 495
      StackMap locals:
      StackMap stack:
            aload 1 /* keySpec */
            instanceof javax.crypto.spec.DHPrivateKeySpec
            ifeq 4
         3: .line 497
            new org.bouncycastle.jce.provider.JCEElGamalPrivateKey
            dup
            aload 1 /* keySpec */
            checkcast javax.crypto.spec.DHPrivateKeySpec
            invokespecial org.bouncycastle.jce.provider.JCEElGamalPrivateKey.<init>:(Ljavax/crypto/spec/DHPrivateKeySpec;)V
            areturn
         4: .line 500
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* keySpec */
            invokespecial org.bouncycastle.jce.provider.JDKKeyFactory.engineGeneratePrivate:(Ljava/security/spec/KeySpec;)Ljava/security/PrivateKey;
            areturn
        end local 1 // java.security.spec.KeySpec keySpec
        end local 0 // org.bouncycastle.jce.provider.JDKKeyFactory$ElGamal this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/bouncycastle/jce/provider/JDKKeyFactory$ElGamal;
            0    5     1  keySpec  Ljava/security/spec/KeySpec;
    Exceptions:
      throws java.security.spec.InvalidKeySpecException
    MethodParameters:
         Name  Flags
      keySpec  

  protected java.security.PublicKey engineGeneratePublic(java.security.spec.KeySpec);
    descriptor: (Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.bouncycastle.jce.provider.JDKKeyFactory$ElGamal this
        start local 1 // java.security.spec.KeySpec keySpec
         0: .line 507
            aload 1 /* keySpec */
            instanceof org.bouncycastle.jce.spec.ElGamalPublicKeySpec
            ifeq 2
         1: .line 509
            new org.bouncycastle.jce.provider.JCEElGamalPublicKey
            dup
            aload 1 /* keySpec */
            checkcast org.bouncycastle.jce.spec.ElGamalPublicKeySpec
            invokespecial org.bouncycastle.jce.provider.JCEElGamalPublicKey.<init>:(Lorg/bouncycastle/jce/spec/ElGamalPublicKeySpec;)V
            areturn
         2: .line 511
      StackMap locals:
      StackMap stack:
            aload 1 /* keySpec */
            instanceof javax.crypto.spec.DHPublicKeySpec
            ifeq 4
         3: .line 513
            new org.bouncycastle.jce.provider.JCEElGamalPublicKey
            dup
            aload 1 /* keySpec */
            checkcast javax.crypto.spec.DHPublicKeySpec
            invokespecial org.bouncycastle.jce.provider.JCEElGamalPublicKey.<init>:(Ljavax/crypto/spec/DHPublicKeySpec;)V
            areturn
         4: .line 516
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* keySpec */
            invokespecial org.bouncycastle.jce.provider.JDKKeyFactory.engineGeneratePublic:(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
            areturn
        end local 1 // java.security.spec.KeySpec keySpec
        end local 0 // org.bouncycastle.jce.provider.JDKKeyFactory$ElGamal this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/bouncycastle/jce/provider/JDKKeyFactory$ElGamal;
            0    5     1  keySpec  Ljava/security/spec/KeySpec;
    Exceptions:
      throws java.security.spec.InvalidKeySpecException
    MethodParameters:
         Name  Flags
      keySpec  
}
SourceFile: "JDKKeyFactory.java"
NestHost: org.bouncycastle.jce.provider.JDKKeyFactory
InnerClasses:
  public ElGamal = org.bouncycastle.jce.provider.JDKKeyFactory$ElGamal of org.bouncycastle.jce.provider.JDKKeyFactory