public class org.bouncycastle.asn1.ASN1ObjectIdentifier extends org.bouncycastle.asn1.ASN1Primitive
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.bouncycastle.asn1.ASN1ObjectIdentifier
  super_class: org.bouncycastle.asn1.ASN1Primitive
{
  private final java.lang.String identifier;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private byte[] body;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private static final long LONG_LIMIT;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 72057594037927808

  private static final java.util.concurrent.ConcurrentMap<org.bouncycastle.asn1.ASN1ObjectIdentifier$OidHandle, org.bouncycastle.asn1.ASN1ObjectIdentifier> pool;
    descriptor: Ljava/util/concurrent/ConcurrentMap;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/concurrent/ConcurrentMap<Lorg/bouncycastle/asn1/ASN1ObjectIdentifier$OidHandle;Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 443
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putstatic org.bouncycastle.asn1.ASN1ObjectIdentifier.pool:Ljava/util/concurrent/ConcurrentMap;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static org.bouncycastle.asn1.ASN1ObjectIdentifier getInstance(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // java.lang.Object obj
         0: .line 31
            aload 0 /* obj */
            ifnull 1
            aload 0 /* obj */
            instanceof org.bouncycastle.asn1.ASN1ObjectIdentifier
            ifeq 2
         1: .line 33
      StackMap locals:
      StackMap stack:
            aload 0 /* obj */
            checkcast org.bouncycastle.asn1.ASN1ObjectIdentifier
            areturn
         2: .line 36
      StackMap locals:
      StackMap stack:
            aload 0 /* obj */
            instanceof org.bouncycastle.asn1.ASN1Encodable
            ifeq 6
         3: .line 38
            aload 0 /* obj */
            checkcast org.bouncycastle.asn1.ASN1Encodable
            invokeinterface org.bouncycastle.asn1.ASN1Encodable.toASN1Primitive:()Lorg/bouncycastle/asn1/ASN1Primitive;
            astore 1 /* primitive */
        start local 1 // org.bouncycastle.asn1.ASN1Primitive primitive
         4: .line 40
            aload 1 /* primitive */
            instanceof org.bouncycastle.asn1.ASN1ObjectIdentifier
            ifeq 6
         5: .line 42
            aload 1 /* primitive */
            checkcast org.bouncycastle.asn1.ASN1ObjectIdentifier
            areturn
        end local 1 // org.bouncycastle.asn1.ASN1Primitive primitive
         6: .line 46
      StackMap locals:
      StackMap stack:
            aload 0 /* obj */
            instanceof byte[]
            ifeq 12
         7: .line 48
            aload 0 /* obj */
            checkcast byte[]
            astore 1 /* enc */
        start local 1 // byte[] enc
         8: .line 51
            aload 1 /* enc */
            invokestatic org.bouncycastle.asn1.ASN1ObjectIdentifier.fromByteArray:([B)Lorg/bouncycastle/asn1/ASN1Primitive;
            checkcast org.bouncycastle.asn1.ASN1ObjectIdentifier
         9: areturn
        10: .line 53
      StackMap locals: java.lang.Object byte[]
      StackMap stack: java.io.IOException
            astore 2 /* e */
        start local 2 // java.io.IOException e
        11: .line 55
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "failed to construct object identifier from byte[]: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* e */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.io.IOException e
        end local 1 // byte[] enc
        12: .line 59
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "illegal object in getInstance: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* obj */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // java.lang.Object obj
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0        obj  Ljava/lang/Object;
            4    6     1  primitive  Lorg/bouncycastle/asn1/ASN1Primitive;
            8   12     1        enc  [B
           11   12     2          e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           8     9      10  Class java.io.IOException
    MethodParameters:
      Name  Flags
      obj   

  public static org.bouncycastle.asn1.ASN1ObjectIdentifier getInstance(org.bouncycastle.asn1.ASN1TaggedObject, boolean);
    descriptor: (Lorg/bouncycastle/asn1/ASN1TaggedObject;Z)Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=3, args_size=2
        start local 0 // org.bouncycastle.asn1.ASN1TaggedObject obj
        start local 1 // boolean explicit
         0: .line 76
            aload 0 /* obj */
            invokevirtual org.bouncycastle.asn1.ASN1TaggedObject.getObject:()Lorg/bouncycastle/asn1/ASN1Primitive;
            astore 2 /* o */
        start local 2 // org.bouncycastle.asn1.ASN1Primitive o
         1: .line 78
            iload 1 /* explicit */
            ifne 2
            aload 2 /* o */
            instanceof org.bouncycastle.asn1.ASN1ObjectIdentifier
            ifeq 3
         2: .line 80
      StackMap locals: org.bouncycastle.asn1.ASN1Primitive
      StackMap stack:
            aload 2 /* o */
            invokestatic org.bouncycastle.asn1.ASN1ObjectIdentifier.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            areturn
         3: .line 84
      StackMap locals:
      StackMap stack:
            aload 2 /* o */
            invokestatic org.bouncycastle.asn1.ASN1OctetString.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1OctetString;
            invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
            invokestatic org.bouncycastle.asn1.ASN1ObjectIdentifier.fromOctetString:([B)Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            areturn
        end local 2 // org.bouncycastle.asn1.ASN1Primitive o
        end local 1 // boolean explicit
        end local 0 // org.bouncycastle.asn1.ASN1TaggedObject obj
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0       obj  Lorg/bouncycastle/asn1/ASN1TaggedObject;
            0    4     1  explicit  Z
            1    4     2         o  Lorg/bouncycastle/asn1/ASN1Primitive;
    MethodParameters:
          Name  Flags
      obj       
      explicit  

  void <init>(byte[]);
    descriptor: ([B)V
    flags: (0x0000) 
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier this
        start local 1 // byte[] bytes
         0: .line 90
            aload 0 /* this */
            invokespecial org.bouncycastle.asn1.ASN1Primitive.<init>:()V
         1: .line 93
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 2 /* objId */
        start local 2 // java.lang.StringBuffer objId
         2: .line 94
            lconst_0
            lstore 3 /* value */
        start local 3 // long value
         3: .line 95
            aconst_null
            astore 5 /* bigValue */
        start local 5 // java.math.BigInteger bigValue
         4: .line 96
            iconst_1
            istore 6 /* first */
        start local 6 // boolean first
         5: .line 98
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         6: goto 43
         7: .line 100
      StackMap locals: org.bouncycastle.asn1.ASN1ObjectIdentifier byte[] java.lang.StringBuffer long java.math.BigInteger int int
      StackMap stack:
            aload 1 /* bytes */
            iload 7 /* i */
            baload
            sipush 255
            iand
            istore 8 /* b */
        start local 8 // int b
         8: .line 102
            lload 3 /* value */
            ldc 72057594037927808
            lcmp
            ifgt 28
         9: .line 104
            lload 3 /* value */
            iload 8 /* b */
            bipush 127
            iand
            i2l
            ladd
            lstore 3 /* value */
        10: .line 105
            iload 8 /* b */
            sipush 128
            iand
            ifne 26
        11: .line 107
            iload 6 /* first */
            ifeq 22
        12: .line 109
            lload 3 /* value */
            ldc 40
            lcmp
            ifge 15
        13: .line 111
            aload 2 /* objId */
            bipush 48
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        14: .line 112
            goto 21
        15: .line 113
      StackMap locals: int
      StackMap stack:
            lload 3 /* value */
            ldc 80
            lcmp
            ifge 19
        16: .line 115
            aload 2 /* objId */
            bipush 49
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        17: .line 116
            lload 3 /* value */
            ldc 40
            lsub
            lstore 3 /* value */
        18: .line 117
            goto 21
        19: .line 120
      StackMap locals:
      StackMap stack:
            aload 2 /* objId */
            bipush 50
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        20: .line 121
            lload 3 /* value */
            ldc 80
            lsub
            lstore 3 /* value */
        21: .line 123
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* first */
        22: .line 126
      StackMap locals:
      StackMap stack:
            aload 2 /* objId */
            bipush 46
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        23: .line 127
            aload 2 /* objId */
            lload 3 /* value */
            invokevirtual java.lang.StringBuffer.append:(J)Ljava/lang/StringBuffer;
            pop
        24: .line 128
            lconst_0
            lstore 3 /* value */
        25: .line 129
            goto 42
        26: .line 132
      StackMap locals:
      StackMap stack:
            lload 3 /* value */
            bipush 7
            lshl
            lstore 3 /* value */
        27: .line 134
            goto 42
        28: .line 137
      StackMap locals:
      StackMap stack:
            aload 5 /* bigValue */
            ifnonnull 30
        29: .line 139
            lload 3 /* value */
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            astore 5 /* bigValue */
        30: .line 141
      StackMap locals:
      StackMap stack:
            aload 5 /* bigValue */
            iload 8 /* b */
            bipush 127
            iand
            i2l
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.or:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
            astore 5 /* bigValue */
        31: .line 142
            iload 8 /* b */
            sipush 128
            iand
            ifne 41
        32: .line 144
            iload 6 /* first */
            ifeq 36
        33: .line 146
            aload 2 /* objId */
            bipush 50
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        34: .line 147
            aload 5 /* bigValue */
            ldc 80
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.subtract:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
            astore 5 /* bigValue */
        35: .line 148
            iconst_0
            istore 6 /* first */
        36: .line 151
      StackMap locals:
      StackMap stack:
            aload 2 /* objId */
            bipush 46
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        37: .line 152
            aload 2 /* objId */
            aload 5 /* bigValue */
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/Object;)Ljava/lang/StringBuffer;
            pop
        38: .line 153
            aconst_null
            astore 5 /* bigValue */
        39: .line 154
            lconst_0
            lstore 3 /* value */
        40: .line 155
            goto 42
        41: .line 158
      StackMap locals:
      StackMap stack:
            aload 5 /* bigValue */
            bipush 7
            invokevirtual java.math.BigInteger.shiftLeft:(I)Ljava/math/BigInteger;
            astore 5 /* bigValue */
        end local 8 // int b
        42: .line 98
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        43: iload 7 /* i */
            aload 1 /* bytes */
            arraylength
            if_icmpne 7
        end local 7 // int i
        44: .line 163
            aload 0 /* this */
            aload 2 /* objId */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            putfield org.bouncycastle.asn1.ASN1ObjectIdentifier.identifier:Ljava/lang/String;
        45: .line 164
            aload 0 /* this */
            aload 1 /* bytes */
            invokestatic org.bouncycastle.util.Arrays.clone:([B)[B
            putfield org.bouncycastle.asn1.ASN1ObjectIdentifier.body:[B
        46: .line 165
            return
        end local 6 // boolean first
        end local 5 // java.math.BigInteger bigValue
        end local 3 // long value
        end local 2 // java.lang.StringBuffer objId
        end local 1 // byte[] bytes
        end local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   47     0      this  Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            0   47     1     bytes  [B
            2   47     2     objId  Ljava/lang/StringBuffer;
            3   47     3     value  J
            4   47     5  bigValue  Ljava/math/BigInteger;
            5   47     6     first  Z
            6   44     7         i  I
            8   42     8         b  I
    MethodParameters:
       Name  Flags
      bytes  

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier this
        start local 1 // java.lang.String identifier
         0: .line 172
            aload 0 /* this */
            invokespecial org.bouncycastle.asn1.ASN1Primitive.<init>:()V
         1: .line 175
            aload 1 /* identifier */
            ifnonnull 3
         2: .line 177
            new java.lang.IllegalArgumentException
            dup
            ldc "'identifier' cannot be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 179
      StackMap locals: org.bouncycastle.asn1.ASN1ObjectIdentifier java.lang.String
      StackMap stack:
            aload 1 /* identifier */
            invokestatic org.bouncycastle.asn1.ASN1ObjectIdentifier.isValidIdentifier:(Ljava/lang/String;)Z
            ifne 5
         4: .line 181
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "string "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* identifier */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " not an OID"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 184
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* identifier */
            putfield org.bouncycastle.asn1.ASN1ObjectIdentifier.identifier:Ljava/lang/String;
         6: .line 185
            return
        end local 1 // java.lang.String identifier
        end local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            0    7     1  identifier  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      identifier  

  void <init>(org.bouncycastle.asn1.ASN1ObjectIdentifier, java.lang.String);
    descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier this
        start local 1 // org.bouncycastle.asn1.ASN1ObjectIdentifier oid
        start local 2 // java.lang.String branchID
         0: .line 193
            aload 0 /* this */
            invokespecial org.bouncycastle.asn1.ASN1Primitive.<init>:()V
         1: .line 195
            aload 2 /* branchID */
            iconst_0
            invokestatic org.bouncycastle.asn1.ASN1ObjectIdentifier.isValidBranchID:(Ljava/lang/String;I)Z
            ifne 3
         2: .line 197
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "string "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* branchID */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " not a valid OID branch"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 200
      StackMap locals: org.bouncycastle.asn1.ASN1ObjectIdentifier org.bouncycastle.asn1.ASN1ObjectIdentifier java.lang.String
      StackMap stack:
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 1 /* oid */
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* branchID */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield org.bouncycastle.asn1.ASN1ObjectIdentifier.identifier:Ljava/lang/String;
         4: .line 201
            return
        end local 2 // java.lang.String branchID
        end local 1 // org.bouncycastle.asn1.ASN1ObjectIdentifier oid
        end local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            0    5     1       oid  Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            0    5     2  branchID  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      oid       
      branchID  

  public java.lang.String getId();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier this
         0: .line 210
            aload 0 /* this */
            getfield org.bouncycastle.asn1.ASN1ObjectIdentifier.identifier:Ljava/lang/String;
            areturn
        end local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;

  public org.bouncycastle.asn1.ASN1ObjectIdentifier branch(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier this
        start local 1 // java.lang.String branchID
         0: .line 221
            new org.bouncycastle.asn1.ASN1ObjectIdentifier
            dup
            aload 0 /* this */
            aload 1 /* branchID */
            invokespecial org.bouncycastle.asn1.ASN1ObjectIdentifier.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String branchID
        end local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            0    1     1  branchID  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      branchID  

  public boolean on(org.bouncycastle.asn1.ASN1ObjectIdentifier);
    descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier this
        start local 1 // org.bouncycastle.asn1.ASN1ObjectIdentifier stem
         0: .line 232
            aload 0 /* this */
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            astore 2 /* id */
        start local 2 // java.lang.String id
         1: aload 1 /* stem */
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            astore 3 /* stemId */
        start local 3 // java.lang.String stemId
         2: .line 233
            aload 2 /* id */
            invokevirtual java.lang.String.length:()I
            aload 3 /* stemId */
            invokevirtual java.lang.String.length:()I
            if_icmple 3
            aload 2 /* id */
            aload 3 /* stemId */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.charAt:(I)C
            bipush 46
            if_icmpne 3
            aload 2 /* id */
            aload 3 /* stemId */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 3
            iconst_1
            ireturn
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
         3: iconst_0
            ireturn
        end local 3 // java.lang.String stemId
        end local 2 // java.lang.String id
        end local 1 // org.bouncycastle.asn1.ASN1ObjectIdentifier stem
        end local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            0    4     1    stem  Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            1    4     2      id  Ljava/lang/String;
            2    4     3  stemId  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      stem  

  private void writeField(java.io.ByteArrayOutputStream, long);
    descriptor: (Ljava/io/ByteArrayOutputStream;J)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier this
        start local 1 // java.io.ByteArrayOutputStream out
        start local 2 // long fieldValue
         0: .line 240
            bipush 9
            newarray 8
            astore 4 /* result */
        start local 4 // byte[] result
         1: .line 241
            bipush 8
            istore 5 /* pos */
        start local 5 // int pos
         2: .line 242
            aload 4 /* result */
            iload 5 /* pos */
            lload 2 /* fieldValue */
            l2i
            bipush 127
            iand
            i2b
            bastore
         3: .line 243
            goto 6
         4: .line 245
      StackMap locals: byte[] int
      StackMap stack:
            lload 2 /* fieldValue */
            bipush 7
            lshr
            lstore 2 /* fieldValue */
         5: .line 246
            aload 4 /* result */
            iinc 5 /* pos */ -1
            iload 5 /* pos */
            lload 2 /* fieldValue */
            l2i
            bipush 127
            iand
            sipush 128
            ior
            i2b
            bastore
         6: .line 243
      StackMap locals:
      StackMap stack:
            lload 2 /* fieldValue */
            ldc 128
            lcmp
            ifge 4
         7: .line 248
            aload 1 /* out */
            aload 4 /* result */
            iload 5 /* pos */
            bipush 9
            iload 5 /* pos */
            isub
            invokevirtual java.io.ByteArrayOutputStream.write:([BII)V
         8: .line 249
            return
        end local 5 // int pos
        end local 4 // byte[] result
        end local 2 // long fieldValue
        end local 1 // java.io.ByteArrayOutputStream out
        end local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0        this  Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            0    9     1         out  Ljava/io/ByteArrayOutputStream;
            0    9     2  fieldValue  J
            1    9     4      result  [B
            2    9     5         pos  I
    MethodParameters:
            Name  Flags
      out         
      fieldValue  

  private void writeField(java.io.ByteArrayOutputStream, java.math.BigInteger);
    descriptor: (Ljava/io/ByteArrayOutputStream;Ljava/math/BigInteger;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier this
        start local 1 // java.io.ByteArrayOutputStream out
        start local 2 // java.math.BigInteger fieldValue
         0: .line 255
            aload 2 /* fieldValue */
            invokevirtual java.math.BigInteger.bitLength:()I
            bipush 6
            iadd
            bipush 7
            idiv
            istore 3 /* byteCount */
        start local 3 // int byteCount
         1: .line 256
            iload 3 /* byteCount */
            ifne 4
         2: .line 258
            aload 1 /* out */
            iconst_0
            invokevirtual java.io.ByteArrayOutputStream.write:(I)V
         3: .line 259
            goto 14
         4: .line 262
      StackMap locals: int
      StackMap stack:
            aload 2 /* fieldValue */
            astore 4 /* tmpValue */
        start local 4 // java.math.BigInteger tmpValue
         5: .line 263
            iload 3 /* byteCount */
            newarray 8
            astore 5 /* tmp */
        start local 5 // byte[] tmp
         6: .line 264
            iload 3 /* byteCount */
            iconst_1
            isub
            istore 6 /* i */
        start local 6 // int i
         7: goto 11
         8: .line 266
      StackMap locals: java.math.BigInteger byte[] int
      StackMap stack:
            aload 5 /* tmp */
            iload 6 /* i */
            aload 4 /* tmpValue */
            invokevirtual java.math.BigInteger.intValue:()I
            bipush 127
            iand
            sipush 128
            ior
            i2b
            bastore
         9: .line 267
            aload 4 /* tmpValue */
            bipush 7
            invokevirtual java.math.BigInteger.shiftRight:(I)Ljava/math/BigInteger;
            astore 4 /* tmpValue */
        10: .line 264
            iinc 6 /* i */ -1
      StackMap locals:
      StackMap stack:
        11: iload 6 /* i */
            ifge 8
        end local 6 // int i
        12: .line 269
            aload 5 /* tmp */
            iload 3 /* byteCount */
            iconst_1
            isub
            dup2
            baload
            bipush 127
            iand
            i2b
            bastore
        13: .line 270
            aload 1 /* out */
            aload 5 /* tmp */
            iconst_0
            aload 5 /* tmp */
            arraylength
            invokevirtual java.io.ByteArrayOutputStream.write:([BII)V
        end local 5 // byte[] tmp
        end local 4 // java.math.BigInteger tmpValue
        14: .line 272
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int byteCount
        end local 2 // java.math.BigInteger fieldValue
        end local 1 // java.io.ByteArrayOutputStream out
        end local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   15     0        this  Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            0   15     1         out  Ljava/io/ByteArrayOutputStream;
            0   15     2  fieldValue  Ljava/math/BigInteger;
            1   15     3   byteCount  I
            5   14     4    tmpValue  Ljava/math/BigInteger;
            6   14     5         tmp  [B
            7   12     6           i  I
    MethodParameters:
            Name  Flags
      out         
      fieldValue  

  private void doOutput(java.io.ByteArrayOutputStream);
    descriptor: (Ljava/io/ByteArrayOutputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier this
        start local 1 // java.io.ByteArrayOutputStream aOut
         0: .line 276
            new org.bouncycastle.asn1.OIDTokenizer
            dup
            aload 0 /* this */
            getfield org.bouncycastle.asn1.ASN1ObjectIdentifier.identifier:Ljava/lang/String;
            invokespecial org.bouncycastle.asn1.OIDTokenizer.<init>:(Ljava/lang/String;)V
            astore 2 /* tok */
        start local 2 // org.bouncycastle.asn1.OIDTokenizer tok
         1: .line 277
            aload 2 /* tok */
            invokevirtual org.bouncycastle.asn1.OIDTokenizer.nextToken:()Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            bipush 40
            imul
            istore 3 /* first */
        start local 3 // int first
         2: .line 279
            aload 2 /* tok */
            invokevirtual org.bouncycastle.asn1.OIDTokenizer.nextToken:()Ljava/lang/String;
            astore 4 /* secondToken */
        start local 4 // java.lang.String secondToken
         3: .line 280
            aload 4 /* secondToken */
            invokevirtual java.lang.String.length:()I
            bipush 18
            if_icmpgt 6
         4: .line 282
            aload 0 /* this */
            aload 1 /* aOut */
            iload 3 /* first */
            i2l
            aload 4 /* secondToken */
            invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
            ladd
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.writeField:(Ljava/io/ByteArrayOutputStream;J)V
         5: .line 283
            goto 13
         6: .line 286
      StackMap locals: org.bouncycastle.asn1.OIDTokenizer int java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 1 /* aOut */
            new java.math.BigInteger
            dup
            aload 4 /* secondToken */
            invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;)V
            iload 3 /* first */
            i2l
            invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.add:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.writeField:(Ljava/io/ByteArrayOutputStream;Ljava/math/BigInteger;)V
         7: .line 289
            goto 13
         8: .line 291
      StackMap locals:
      StackMap stack:
            aload 2 /* tok */
            invokevirtual org.bouncycastle.asn1.OIDTokenizer.nextToken:()Ljava/lang/String;
            astore 5 /* token */
        start local 5 // java.lang.String token
         9: .line 292
            aload 5 /* token */
            invokevirtual java.lang.String.length:()I
            bipush 18
            if_icmpgt 12
        10: .line 294
            aload 0 /* this */
            aload 1 /* aOut */
            aload 5 /* token */
            invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.writeField:(Ljava/io/ByteArrayOutputStream;J)V
        11: .line 295
            goto 13
        12: .line 298
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 1 /* aOut */
            new java.math.BigInteger
            dup
            aload 5 /* token */
            invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;)V
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.writeField:(Ljava/io/ByteArrayOutputStream;Ljava/math/BigInteger;)V
        end local 5 // java.lang.String token
        13: .line 289
      StackMap locals:
      StackMap stack:
            aload 2 /* tok */
            invokevirtual org.bouncycastle.asn1.OIDTokenizer.hasMoreTokens:()Z
            ifne 8
        14: .line 301
            return
        end local 4 // java.lang.String secondToken
        end local 3 // int first
        end local 2 // org.bouncycastle.asn1.OIDTokenizer tok
        end local 1 // java.io.ByteArrayOutputStream aOut
        end local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            0   15     1         aOut  Ljava/io/ByteArrayOutputStream;
            1   15     2          tok  Lorg/bouncycastle/asn1/OIDTokenizer;
            2   15     3        first  I
            3   15     4  secondToken  Ljava/lang/String;
            9   13     5        token  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      aOut  

  private synchronized byte[] getBody();
    descriptor: ()[B
    flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier this
         0: .line 305
            aload 0 /* this */
            getfield org.bouncycastle.asn1.ASN1ObjectIdentifier.body:[B
            ifnonnull 4
         1: .line 307
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 1 /* bOut */
        start local 1 // java.io.ByteArrayOutputStream bOut
         2: .line 309
            aload 0 /* this */
            aload 1 /* bOut */
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.doOutput:(Ljava/io/ByteArrayOutputStream;)V
         3: .line 311
            aload 0 /* this */
            aload 1 /* bOut */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            putfield org.bouncycastle.asn1.ASN1ObjectIdentifier.body:[B
        end local 1 // java.io.ByteArrayOutputStream bOut
         4: .line 314
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.asn1.ASN1ObjectIdentifier.body:[B
            areturn
        end local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            2    4     1  bOut  Ljava/io/ByteArrayOutputStream;

  boolean isConstructed();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier this
         0: .line 319
            iconst_0
            ireturn
        end local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;

  int encodedLength();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier this
         0: .line 325
            aload 0 /* this */
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getBody:()[B
            arraylength
            istore 1 /* length */
        start local 1 // int length
         1: .line 327
            iconst_1
            iload 1 /* length */
            invokestatic org.bouncycastle.asn1.StreamUtil.calculateBodyLength:(I)I
            iadd
            iload 1 /* length */
            iadd
            ireturn
        end local 1 // int length
        end local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            1    2     1  length  I
    Exceptions:
      throws java.io.IOException

  void encode(org.bouncycastle.asn1.ASN1OutputStream);
    descriptor: (Lorg/bouncycastle/asn1/ASN1OutputStream;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier this
        start local 1 // org.bouncycastle.asn1.ASN1OutputStream out
         0: .line 334
            aload 0 /* this */
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getBody:()[B
            astore 2 /* enc */
        start local 2 // byte[] enc
         1: .line 336
            aload 1 /* out */
            bipush 6
            invokevirtual org.bouncycastle.asn1.ASN1OutputStream.write:(I)V
         2: .line 337
            aload 1 /* out */
            aload 2 /* enc */
            arraylength
            invokevirtual org.bouncycastle.asn1.ASN1OutputStream.writeLength:(I)V
         3: .line 338
            aload 1 /* out */
            aload 2 /* enc */
            invokevirtual org.bouncycastle.asn1.ASN1OutputStream.write:([B)V
         4: .line 339
            return
        end local 2 // byte[] enc
        end local 1 // org.bouncycastle.asn1.ASN1OutputStream out
        end local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            0    5     1   out  Lorg/bouncycastle/asn1/ASN1OutputStream;
            1    5     2   enc  [B
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      out   

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier this
         0: .line 343
            aload 0 /* this */
            getfield org.bouncycastle.asn1.ASN1ObjectIdentifier.identifier:Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
            ireturn
        end local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;

  boolean asn1Equals(org.bouncycastle.asn1.ASN1Primitive);
    descriptor: (Lorg/bouncycastle/asn1/ASN1Primitive;)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier this
        start local 1 // org.bouncycastle.asn1.ASN1Primitive o
         0: .line 349
            aload 1 /* o */
            aload 0 /* this */
            if_acmpne 2
         1: .line 351
            iconst_1
            ireturn
         2: .line 354
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            instanceof org.bouncycastle.asn1.ASN1ObjectIdentifier
            ifne 4
         3: .line 356
            iconst_0
            ireturn
         4: .line 359
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.asn1.ASN1ObjectIdentifier.identifier:Ljava/lang/String;
            aload 1 /* o */
            checkcast org.bouncycastle.asn1.ASN1ObjectIdentifier
            getfield org.bouncycastle.asn1.ASN1ObjectIdentifier.identifier:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // org.bouncycastle.asn1.ASN1Primitive o
        end local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            0    5     1     o  Lorg/bouncycastle/asn1/ASN1Primitive;
    MethodParameters:
      Name  Flags
      o     

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier this
         0: .line 364
            aload 0 /* this */
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            areturn
        end local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;

  private static boolean isValidBranchID(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // java.lang.String branchID
        start local 1 // int start
         0: .line 370
            iconst_0
            istore 2 /* periodAllowed */
        start local 2 // boolean periodAllowed
         1: .line 372
            aload 0 /* branchID */
            invokevirtual java.lang.String.length:()I
            istore 3 /* pos */
        start local 3 // int pos
         2: .line 373
            goto 13
         3: .line 375
      StackMap locals: int int
      StackMap stack:
            aload 0 /* branchID */
            iload 3 /* pos */
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* ch */
        start local 4 // char ch
         4: .line 378
            bipush 48
            iload 4 /* ch */
            if_icmpgt 7
            iload 4 /* ch */
            bipush 57
            if_icmpgt 7
         5: .line 380
            iconst_1
            istore 2 /* periodAllowed */
         6: .line 381
            goto 13
         7: .line 384
      StackMap locals: int
      StackMap stack:
            iload 4 /* ch */
            bipush 46
            if_icmpne 12
         8: .line 386
            iload 2 /* periodAllowed */
            ifne 10
         9: .line 388
            iconst_0
            ireturn
        10: .line 391
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* periodAllowed */
        11: .line 392
            goto 13
        12: .line 395
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // char ch
        13: .line 373
      StackMap locals:
      StackMap stack:
            iinc 3 /* pos */ -1
            iload 3 /* pos */
            iload 1 /* start */
            if_icmpge 3
        14: .line 398
            iload 2 /* periodAllowed */
            ireturn
        end local 3 // int pos
        end local 2 // boolean periodAllowed
        end local 1 // int start
        end local 0 // java.lang.String branchID
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   15     0       branchID  Ljava/lang/String;
            0   15     1          start  I
            1   15     2  periodAllowed  Z
            2   15     3            pos  I
            4   13     4             ch  C
    MethodParameters:
          Name  Flags
      branchID  
      start     

  private static boolean isValidIdentifier(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String identifier
         0: .line 404
            aload 0 /* identifier */
            invokevirtual java.lang.String.length:()I
            iconst_3
            if_icmplt 1
            aload 0 /* identifier */
            iconst_1
            invokevirtual java.lang.String.charAt:(I)C
            bipush 46
            if_icmpeq 2
         1: .line 406
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 409
      StackMap locals:
      StackMap stack:
            aload 0 /* identifier */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            istore 1 /* first */
        start local 1 // char first
         3: .line 410
            iload 1 /* first */
            bipush 48
            if_icmplt 4
            iload 1 /* first */
            bipush 50
            if_icmple 5
         4: .line 412
      StackMap locals: int
      StackMap stack:
            iconst_0
            ireturn
         5: .line 415
      StackMap locals:
      StackMap stack:
            aload 0 /* identifier */
            iconst_2
            invokestatic org.bouncycastle.asn1.ASN1ObjectIdentifier.isValidBranchID:(Ljava/lang/String;I)Z
            ireturn
        end local 1 // char first
        end local 0 // java.lang.String identifier
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0  identifier  Ljava/lang/String;
            3    6     1       first  C
    MethodParameters:
            Name  Flags
      identifier  

  public org.bouncycastle.asn1.ASN1ObjectIdentifier intern();
    descriptor: ()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier this
         0: .line 430
            new org.bouncycastle.asn1.ASN1ObjectIdentifier$OidHandle
            dup
            aload 0 /* this */
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getBody:()[B
            invokespecial org.bouncycastle.asn1.ASN1ObjectIdentifier$OidHandle.<init>:([B)V
            astore 1 /* hdl */
        start local 1 // org.bouncycastle.asn1.ASN1ObjectIdentifier$OidHandle hdl
         1: .line 431
            getstatic org.bouncycastle.asn1.ASN1ObjectIdentifier.pool:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* hdl */
            invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.bouncycastle.asn1.ASN1ObjectIdentifier
            astore 2 /* oid */
        start local 2 // org.bouncycastle.asn1.ASN1ObjectIdentifier oid
         2: .line 432
            aload 2 /* oid */
            ifnonnull 6
         3: .line 434
            getstatic org.bouncycastle.asn1.ASN1ObjectIdentifier.pool:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* hdl */
            aload 0 /* this */
            invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.bouncycastle.asn1.ASN1ObjectIdentifier
            astore 2 /* oid */
         4: .line 435
            aload 2 /* oid */
            ifnonnull 6
         5: .line 437
            aload 0 /* this */
            astore 2 /* oid */
         6: .line 440
      StackMap locals: org.bouncycastle.asn1.ASN1ObjectIdentifier$OidHandle org.bouncycastle.asn1.ASN1ObjectIdentifier
      StackMap stack:
            aload 2 /* oid */
            areturn
        end local 2 // org.bouncycastle.asn1.ASN1ObjectIdentifier oid
        end local 1 // org.bouncycastle.asn1.ASN1ObjectIdentifier$OidHandle hdl
        end local 0 // org.bouncycastle.asn1.ASN1ObjectIdentifier this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            1    7     1   hdl  Lorg/bouncycastle/asn1/ASN1ObjectIdentifier$OidHandle;
            2    7     2   oid  Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;

  static org.bouncycastle.asn1.ASN1ObjectIdentifier fromOctetString(byte[]);
    descriptor: ([B)Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // byte[] enc
         0: .line 474
            new org.bouncycastle.asn1.ASN1ObjectIdentifier$OidHandle
            dup
            aload 0 /* enc */
            invokespecial org.bouncycastle.asn1.ASN1ObjectIdentifier$OidHandle.<init>:([B)V
            astore 1 /* hdl */
        start local 1 // org.bouncycastle.asn1.ASN1ObjectIdentifier$OidHandle hdl
         1: .line 475
            getstatic org.bouncycastle.asn1.ASN1ObjectIdentifier.pool:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* hdl */
            invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.bouncycastle.asn1.ASN1ObjectIdentifier
            astore 2 /* oid */
        start local 2 // org.bouncycastle.asn1.ASN1ObjectIdentifier oid
         2: .line 476
            aload 2 /* oid */
            ifnonnull 4
         3: .line 478
            new org.bouncycastle.asn1.ASN1ObjectIdentifier
            dup
            aload 0 /* enc */
            invokespecial org.bouncycastle.asn1.ASN1ObjectIdentifier.<init>:([B)V
            areturn
         4: .line 480
      StackMap locals: org.bouncycastle.asn1.ASN1ObjectIdentifier$OidHandle org.bouncycastle.asn1.ASN1ObjectIdentifier
      StackMap stack:
            aload 2 /* oid */
            areturn
        end local 2 // org.bouncycastle.asn1.ASN1ObjectIdentifier oid
        end local 1 // org.bouncycastle.asn1.ASN1ObjectIdentifier$OidHandle hdl
        end local 0 // byte[] enc
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0   enc  [B
            1    5     1   hdl  Lorg/bouncycastle/asn1/ASN1ObjectIdentifier$OidHandle;
            2    5     2   oid  Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
    MethodParameters:
      Name  Flags
      enc   
}
SourceFile: "ASN1ObjectIdentifier.java"
NestMembers:
  org.bouncycastle.asn1.ASN1ObjectIdentifier$OidHandle
InnerClasses:
  private OidHandle = org.bouncycastle.asn1.ASN1ObjectIdentifier$OidHandle of org.bouncycastle.asn1.ASN1ObjectIdentifier