public final class org.bson.types.ObjectId implements java.lang.Comparable<org.bson.types.ObjectId>, java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.bson.types.ObjectId
  super_class: java.lang.Object
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 3670079982654483072

  private static final int OBJECT_ID_LENGTH;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 12

  private static final int LOW_ORDER_THREE_BYTES;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 16777215

  private static final int RANDOM_VALUE1;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final short RANDOM_VALUE2;
    descriptor: S
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.concurrent.atomic.AtomicInteger NEXT_COUNTER;
    descriptor: Ljava/util/concurrent/atomic/AtomicInteger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final char[] HEX_CHARS;
    descriptor: [C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final int timestamp;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int counter;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int randomValue1;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final short randomValue2;
    descriptor: S
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=1, args_size=0
         0: .line 57
            new java.util.concurrent.atomic.AtomicInteger
            dup
            new java.security.SecureRandom
            dup
            invokespecial java.security.SecureRandom.<init>:()V
            invokevirtual java.security.SecureRandom.nextInt:()I
            invokespecial java.util.concurrent.atomic.AtomicInteger.<init>:(I)V
            putstatic org.bson.types.ObjectId.NEXT_COUNTER:Ljava/util/concurrent/atomic/AtomicInteger;
         1: .line 59
            bipush 16
            newarray 5
            dup
            iconst_0
         2: .line 60
            bipush 48
            castore
            dup
            iconst_1
            bipush 49
            castore
            dup
            iconst_2
            bipush 50
            castore
            dup
            iconst_3
            bipush 51
            castore
            dup
            iconst_4
            bipush 52
            castore
            dup
            iconst_5
            bipush 53
            castore
            dup
            bipush 6
            bipush 54
            castore
            dup
            bipush 7
            bipush 55
            castore
            dup
            bipush 8
         3: .line 61
            bipush 56
            castore
            dup
            bipush 9
            bipush 57
            castore
            dup
            bipush 10
            bipush 97
            castore
            dup
            bipush 11
            bipush 98
            castore
            dup
            bipush 12
            bipush 99
            castore
            dup
            bipush 13
            bipush 100
            castore
            dup
            bipush 14
            bipush 101
            castore
            dup
            bipush 15
            bipush 102
            castore
         4: .line 59
            putstatic org.bson.types.ObjectId.HEX_CHARS:[C
         5: .line 519
            new java.security.SecureRandom
            dup
            invokespecial java.security.SecureRandom.<init>:()V
            astore 0 /* secureRandom */
        start local 0 // java.security.SecureRandom secureRandom
         6: .line 520
            aload 0 /* secureRandom */
            ldc 16777216
            invokevirtual java.security.SecureRandom.nextInt:(I)I
            putstatic org.bson.types.ObjectId.RANDOM_VALUE1:I
         7: .line 521
            aload 0 /* secureRandom */
            ldc 32768
            invokevirtual java.security.SecureRandom.nextInt:(I)I
            i2s
            putstatic org.bson.types.ObjectId.RANDOM_VALUE2:S
        end local 0 // java.security.SecureRandom secureRandom
         8: .line 522
            goto 11
      StackMap locals:
      StackMap stack: java.lang.Exception
         9: astore 0 /* e */
        start local 0 // java.lang.Exception e
        10: .line 523
            new java.lang.RuntimeException
            dup
            aload 0 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 0 // java.lang.Exception e
        11: .line 525
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            6    8     0  secureRandom  Ljava/security/SecureRandom;
           10   11     0             e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           5     8       9  Class java.lang.Exception

  public static org.bson.types.ObjectId get();
    descriptor: ()Lorg/bson/types/ObjectId;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 74
            new org.bson.types.ObjectId
            dup
            invokespecial org.bson.types.ObjectId.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static boolean isValid(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // java.lang.String hexString
         0: .line 85
            aload 0 /* hexString */
            ifnonnull 2
         1: .line 86
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         2: .line 89
      StackMap locals:
      StackMap stack:
            aload 0 /* hexString */
            invokevirtual java.lang.String.length:()I
            istore 1 /* len */
        start local 1 // int len
         3: .line 90
            iload 1 /* len */
            bipush 24
            if_icmpeq 5
         4: .line 91
            iconst_0
            ireturn
         5: .line 94
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         6: goto 16
         7: .line 95
      StackMap locals: int
      StackMap stack:
            aload 0 /* hexString */
            iload 2 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* c */
        start local 3 // char c
         8: .line 96
            iload 3 /* c */
            bipush 48
            if_icmplt 10
            iload 3 /* c */
            bipush 57
            if_icmpgt 10
         9: .line 97
            goto 15
        10: .line 99
      StackMap locals: int
      StackMap stack:
            iload 3 /* c */
            bipush 97
            if_icmplt 12
            iload 3 /* c */
            bipush 102
            if_icmpgt 12
        11: .line 100
            goto 15
        12: .line 102
      StackMap locals:
      StackMap stack:
            iload 3 /* c */
            bipush 65
            if_icmplt 14
            iload 3 /* c */
            bipush 70
            if_icmpgt 14
        13: .line 103
            goto 15
        14: .line 106
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // char c
        15: .line 94
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 2 /* i */
            iload 1 /* len */
            if_icmplt 7
        end local 2 // int i
        17: .line 109
            iconst_1
            ireturn
        end local 1 // int len
        end local 0 // java.lang.String hexString
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0  hexString  Ljava/lang/String;
            3   18     1        len  I
            6   17     2          i  I
            8   15     3          c  C
    MethodParameters:
           Name  Flags
      hexString  final

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.bson.types.ObjectId this
         0: .line 116
            aload 0 /* this */
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            invokespecial org.bson.types.ObjectId.<init>:(Ljava/util/Date;)V
         1: .line 117
            return
        end local 0 // org.bson.types.ObjectId this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bson/types/ObjectId;

  public void <init>(java.util.Date);
    descriptor: (Ljava/util/Date;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.bson.types.ObjectId this
        start local 1 // java.util.Date date
         0: .line 125
            aload 0 /* this */
            aload 1 /* date */
            invokestatic org.bson.types.ObjectId.dateToTimestampSeconds:(Ljava/util/Date;)I
            getstatic org.bson.types.ObjectId.NEXT_COUNTER:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.getAndIncrement:()I
            ldc 16777215
            iand
            iconst_0
            invokespecial org.bson.types.ObjectId.<init>:(IIZ)V
         1: .line 126
            return
        end local 1 // java.util.Date date
        end local 0 // org.bson.types.ObjectId this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bson/types/ObjectId;
            0    2     1  date  Ljava/util/Date;
    MethodParameters:
      Name  Flags
      date  final

  public void <init>(java.util.Date, int);
    descriptor: (Ljava/util/Date;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.bson.types.ObjectId this
        start local 1 // java.util.Date date
        start local 2 // int counter
         0: .line 136
            aload 0 /* this */
            aload 1 /* date */
            invokestatic org.bson.types.ObjectId.dateToTimestampSeconds:(Ljava/util/Date;)I
            iload 2 /* counter */
            iconst_1
            invokespecial org.bson.types.ObjectId.<init>:(IIZ)V
         1: .line 137
            return
        end local 2 // int counter
        end local 1 // java.util.Date date
        end local 0 // org.bson.types.ObjectId this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/bson/types/ObjectId;
            0    2     1     date  Ljava/util/Date;
            0    2     2  counter  I
    MethodParameters:
         Name  Flags
      date     final
      counter  final

  public void <init>(java.util.Date, int, short, int);
    descriptor: (Ljava/util/Date;ISI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // org.bson.types.ObjectId this
        start local 1 // java.util.Date date
        start local 2 // int machineIdentifier
        start local 3 // short processIdentifier
        start local 4 // int counter
         0: .line 151
            aload 0 /* this */
            aload 1 /* date */
            invokestatic org.bson.types.ObjectId.dateToTimestampSeconds:(Ljava/util/Date;)I
            iload 2 /* machineIdentifier */
            iload 3 /* processIdentifier */
            iload 4 /* counter */
            invokespecial org.bson.types.ObjectId.<init>:(IISI)V
         1: .line 152
            return
        end local 4 // int counter
        end local 3 // short processIdentifier
        end local 2 // int machineIdentifier
        end local 1 // java.util.Date date
        end local 0 // org.bson.types.ObjectId this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lorg/bson/types/ObjectId;
            0    2     1               date  Ljava/util/Date;
            0    2     2  machineIdentifier  I
            0    2     3  processIdentifier  S
            0    2     4            counter  I
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                   Name  Flags
      date               final
      machineIdentifier  final
      processIdentifier  final
      counter            final

  public void <init>(int, int, short, int);
    descriptor: (IISI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.bson.types.ObjectId this
        start local 1 // int timestamp
        start local 2 // int machineIdentifier
        start local 3 // short processIdentifier
        start local 4 // int counter
         0: .line 166
            aload 0 /* this */
            iload 1 /* timestamp */
            iload 2 /* machineIdentifier */
            iload 3 /* processIdentifier */
            iload 4 /* counter */
            iconst_1
            invokespecial org.bson.types.ObjectId.<init>:(IISIZ)V
         1: .line 167
            return
        end local 4 // int counter
        end local 3 // short processIdentifier
        end local 2 // int machineIdentifier
        end local 1 // int timestamp
        end local 0 // org.bson.types.ObjectId this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lorg/bson/types/ObjectId;
            0    2     1          timestamp  I
            0    2     2  machineIdentifier  I
            0    2     3  processIdentifier  S
            0    2     4            counter  I
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
                   Name  Flags
      timestamp          final
      machineIdentifier  final
      processIdentifier  final
      counter            final

  public void <init>(int, int);
    descriptor: (II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.bson.types.ObjectId this
        start local 1 // int timestamp
        start local 2 // int counter
         0: .line 177
            aload 0 /* this */
            iload 1 /* timestamp */
            iload 2 /* counter */
            iconst_1
            invokespecial org.bson.types.ObjectId.<init>:(IIZ)V
         1: .line 178
            return
        end local 2 // int counter
        end local 1 // int timestamp
        end local 0 // org.bson.types.ObjectId this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/bson/types/ObjectId;
            0    2     1  timestamp  I
            0    2     2    counter  I
    MethodParameters:
           Name  Flags
      timestamp  final
      counter    final

  private void <init>(int, int, boolean);
    descriptor: (IIZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.bson.types.ObjectId this
        start local 1 // int timestamp
        start local 2 // int counter
        start local 3 // boolean checkCounter
         0: .line 181
            aload 0 /* this */
            iload 1 /* timestamp */
            getstatic org.bson.types.ObjectId.RANDOM_VALUE1:I
            getstatic org.bson.types.ObjectId.RANDOM_VALUE2:S
            iload 2 /* counter */
            iload 3 /* checkCounter */
            invokespecial org.bson.types.ObjectId.<init>:(IISIZ)V
         1: .line 182
            return
        end local 3 // boolean checkCounter
        end local 2 // int counter
        end local 1 // int timestamp
        end local 0 // org.bson.types.ObjectId this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/bson/types/ObjectId;
            0    2     1     timestamp  I
            0    2     2       counter  I
            0    2     3  checkCounter  Z
    MethodParameters:
              Name  Flags
      timestamp     final
      counter       final
      checkCounter  final

  private void <init>(int, int, short, int, boolean);
    descriptor: (IISIZ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=6
        start local 0 // org.bson.types.ObjectId this
        start local 1 // int timestamp
        start local 2 // int randomValue1
        start local 3 // short randomValue2
        start local 4 // int counter
        start local 5 // boolean checkCounter
         0: .line 184
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 186
            iload 2 /* randomValue1 */
            ldc -16777216
            iand
            ifeq 3
         2: .line 187
            new java.lang.IllegalArgumentException
            dup
            ldc "The machine identifier must be between 0 and 16777215 (it must fit in three bytes)."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 189
      StackMap locals: org.bson.types.ObjectId int int int int int
      StackMap stack:
            iload 5 /* checkCounter */
            ifeq 5
            iload 4 /* counter */
            ldc -16777216
            iand
            ifeq 5
         4: .line 190
            new java.lang.IllegalArgumentException
            dup
            ldc "The counter must be between 0 and 16777215 (it must fit in three bytes)."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 192
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* timestamp */
            putfield org.bson.types.ObjectId.timestamp:I
         6: .line 193
            aload 0 /* this */
            iload 4 /* counter */
            ldc 16777215
            iand
            putfield org.bson.types.ObjectId.counter:I
         7: .line 194
            aload 0 /* this */
            iload 2 /* randomValue1 */
            putfield org.bson.types.ObjectId.randomValue1:I
         8: .line 195
            aload 0 /* this */
            iload 3 /* randomValue2 */
            putfield org.bson.types.ObjectId.randomValue2:S
         9: .line 196
            return
        end local 5 // boolean checkCounter
        end local 4 // int counter
        end local 3 // short randomValue2
        end local 2 // int randomValue1
        end local 1 // int timestamp
        end local 0 // org.bson.types.ObjectId this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Lorg/bson/types/ObjectId;
            0   10     1     timestamp  I
            0   10     2  randomValue1  I
            0   10     3  randomValue2  S
            0   10     4       counter  I
            0   10     5  checkCounter  Z
    MethodParameters:
              Name  Flags
      timestamp     final
      randomValue1  final
      randomValue2  final
      counter       final
      checkCounter  final

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bson.types.ObjectId this
        start local 1 // java.lang.String hexString
         0: .line 205
            aload 0 /* this */
            aload 1 /* hexString */
            invokestatic org.bson.types.ObjectId.parseHexString:(Ljava/lang/String;)[B
            invokespecial org.bson.types.ObjectId.<init>:([B)V
         1: .line 206
            return
        end local 1 // java.lang.String hexString
        end local 0 // org.bson.types.ObjectId this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/bson/types/ObjectId;
            0    2     1  hexString  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      hexString  final

  public void <init>(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.bson.types.ObjectId this
        start local 1 // byte[] bytes
         0: .line 215
            aload 0 /* this */
            ldc "bytes has length of 12"
            aload 1 /* bytes */
            ldc "bytes"
            aload 1 /* bytes */
            invokestatic org.bson.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast byte[]
            arraylength
            bipush 12
            if_icmpne 1
            iconst_1
            goto 2
      StackMap locals: uninitialized-this byte[]
      StackMap stack: uninitialized-this java.lang.String byte[]
         1: iconst_0
      StackMap locals: uninitialized-this byte[]
      StackMap stack: uninitialized-this java.lang.String byte[] int
         2: invokestatic org.bson.assertions.Assertions.isTrueArgument:(Ljava/lang/String;Ljava/lang/Object;Z)Ljava/lang/Object;
            checkcast byte[]
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            invokespecial org.bson.types.ObjectId.<init>:(Ljava/nio/ByteBuffer;)V
         3: .line 216
            return
        end local 1 // byte[] bytes
        end local 0 // org.bson.types.ObjectId this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/bson/types/ObjectId;
            0    4     1  bytes  [B
    MethodParameters:
       Name  Flags
      bytes  final

  void <init>(int, int, int);
    descriptor: (III)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.bson.types.ObjectId this
        start local 1 // int timestamp
        start local 2 // int machineAndProcessIdentifier
        start local 3 // int counter
         0: .line 226
            aload 0 /* this */
            iload 1 /* timestamp */
            iload 2 /* machineAndProcessIdentifier */
            iload 3 /* counter */
            invokestatic org.bson.types.ObjectId.legacyToBytes:(III)[B
            invokespecial org.bson.types.ObjectId.<init>:([B)V
         1: .line 227
            return
        end local 3 // int counter
        end local 2 // int machineAndProcessIdentifier
        end local 1 // int timestamp
        end local 0 // org.bson.types.ObjectId this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0    2     0                         this  Lorg/bson/types/ObjectId;
            0    2     1                    timestamp  I
            0    2     2  machineAndProcessIdentifier  I
            0    2     3                      counter  I
    MethodParameters:
                             Name  Flags
      timestamp                    final
      machineAndProcessIdentifier  final
      counter                      final

  public void <init>(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.bson.types.ObjectId this
        start local 1 // java.nio.ByteBuffer buffer
         0: .line 236
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 237
            ldc "buffer"
            aload 1 /* buffer */
            invokestatic org.bson.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 238
            ldc "buffer.remaining() >=12"
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            bipush 12
            if_icmplt 3
            iconst_1
            goto 4
      StackMap locals: org.bson.types.ObjectId java.nio.ByteBuffer
      StackMap stack: java.lang.String
         3: iconst_0
      StackMap locals: org.bson.types.ObjectId java.nio.ByteBuffer
      StackMap stack: java.lang.String int
         4: invokestatic org.bson.assertions.Assertions.isTrueArgument:(Ljava/lang/String;Z)V
         5: .line 242
            aload 0 /* this */
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.get:()B
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.get:()B
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.get:()B
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.get:()B
            invokestatic org.bson.types.ObjectId.makeInt:(BBBB)I
            putfield org.bson.types.ObjectId.timestamp:I
         6: .line 243
            aload 0 /* this */
            iconst_0
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.get:()B
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.get:()B
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.get:()B
            invokestatic org.bson.types.ObjectId.makeInt:(BBBB)I
            putfield org.bson.types.ObjectId.randomValue1:I
         7: .line 244
            aload 0 /* this */
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.get:()B
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.get:()B
            invokestatic org.bson.types.ObjectId.makeShort:(BB)S
            putfield org.bson.types.ObjectId.randomValue2:S
         8: .line 245
            aload 0 /* this */
            iconst_0
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.get:()B
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.get:()B
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.get:()B
            invokestatic org.bson.types.ObjectId.makeInt:(BBBB)I
            putfield org.bson.types.ObjectId.counter:I
         9: .line 246
            return
        end local 1 // java.nio.ByteBuffer buffer
        end local 0 // org.bson.types.ObjectId this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lorg/bson/types/ObjectId;
            0   10     1  buffer  Ljava/nio/ByteBuffer;
    MethodParameters:
        Name  Flags
      buffer  final

  private static byte[] legacyToBytes(int, int, int);
    descriptor: (III)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // int timestamp
        start local 1 // int machineAndProcessIdentifier
        start local 2 // int counter
         0: .line 249
            bipush 12
            newarray 8
            astore 3 /* bytes */
        start local 3 // byte[] bytes
         1: .line 250
            aload 3 /* bytes */
            iconst_0
            iload 0 /* timestamp */
            invokestatic org.bson.types.ObjectId.int3:(I)B
            bastore
         2: .line 251
            aload 3 /* bytes */
            iconst_1
            iload 0 /* timestamp */
            invokestatic org.bson.types.ObjectId.int2:(I)B
            bastore
         3: .line 252
            aload 3 /* bytes */
            iconst_2
            iload 0 /* timestamp */
            invokestatic org.bson.types.ObjectId.int1:(I)B
            bastore
         4: .line 253
            aload 3 /* bytes */
            iconst_3
            iload 0 /* timestamp */
            invokestatic org.bson.types.ObjectId.int0:(I)B
            bastore
         5: .line 254
            aload 3 /* bytes */
            iconst_4
            iload 1 /* machineAndProcessIdentifier */
            invokestatic org.bson.types.ObjectId.int3:(I)B
            bastore
         6: .line 255
            aload 3 /* bytes */
            iconst_5
            iload 1 /* machineAndProcessIdentifier */
            invokestatic org.bson.types.ObjectId.int2:(I)B
            bastore
         7: .line 256
            aload 3 /* bytes */
            bipush 6
            iload 1 /* machineAndProcessIdentifier */
            invokestatic org.bson.types.ObjectId.int1:(I)B
            bastore
         8: .line 257
            aload 3 /* bytes */
            bipush 7
            iload 1 /* machineAndProcessIdentifier */
            invokestatic org.bson.types.ObjectId.int0:(I)B
            bastore
         9: .line 258
            aload 3 /* bytes */
            bipush 8
            iload 2 /* counter */
            invokestatic org.bson.types.ObjectId.int3:(I)B
            bastore
        10: .line 259
            aload 3 /* bytes */
            bipush 9
            iload 2 /* counter */
            invokestatic org.bson.types.ObjectId.int2:(I)B
            bastore
        11: .line 260
            aload 3 /* bytes */
            bipush 10
            iload 2 /* counter */
            invokestatic org.bson.types.ObjectId.int1:(I)B
            bastore
        12: .line 261
            aload 3 /* bytes */
            bipush 11
            iload 2 /* counter */
            invokestatic org.bson.types.ObjectId.int0:(I)B
            bastore
        13: .line 262
            aload 3 /* bytes */
            areturn
        end local 3 // byte[] bytes
        end local 2 // int counter
        end local 1 // int machineAndProcessIdentifier
        end local 0 // int timestamp
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0   14     0                    timestamp  I
            0   14     1  machineAndProcessIdentifier  I
            0   14     2                      counter  I
            1   14     3                        bytes  [B
    MethodParameters:
                             Name  Flags
      timestamp                    final
      machineAndProcessIdentifier  final
      counter                      final

  public byte[] toByteArray();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.bson.types.ObjectId this
         0: .line 271
            bipush 12
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            astore 1 /* buffer */
        start local 1 // java.nio.ByteBuffer buffer
         1: .line 272
            aload 0 /* this */
            aload 1 /* buffer */
            invokevirtual org.bson.types.ObjectId.putToByteBuffer:(Ljava/nio/ByteBuffer;)V
         2: .line 273
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.array:()[B
            areturn
        end local 1 // java.nio.ByteBuffer buffer
        end local 0 // org.bson.types.ObjectId this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/bson/types/ObjectId;
            1    3     1  buffer  Ljava/nio/ByteBuffer;

  public void putToByteBuffer(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.bson.types.ObjectId this
        start local 1 // java.nio.ByteBuffer buffer
         0: .line 285
            ldc "buffer"
            aload 1 /* buffer */
            invokestatic org.bson.assertions.Assertions.notNull:(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 286
            ldc "buffer.remaining() >=12"
            aload 1 /* buffer */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            bipush 12
            if_icmplt 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack: java.lang.String
         2: iconst_0
      StackMap locals: org.bson.types.ObjectId java.nio.ByteBuffer
      StackMap stack: java.lang.String int
         3: invokestatic org.bson.assertions.Assertions.isTrueArgument:(Ljava/lang/String;Z)V
         4: .line 288
            aload 1 /* buffer */
            aload 0 /* this */
            getfield org.bson.types.ObjectId.timestamp:I
            invokestatic org.bson.types.ObjectId.int3:(I)B
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
         5: .line 289
            aload 1 /* buffer */
            aload 0 /* this */
            getfield org.bson.types.ObjectId.timestamp:I
            invokestatic org.bson.types.ObjectId.int2:(I)B
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
         6: .line 290
            aload 1 /* buffer */
            aload 0 /* this */
            getfield org.bson.types.ObjectId.timestamp:I
            invokestatic org.bson.types.ObjectId.int1:(I)B
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
         7: .line 291
            aload 1 /* buffer */
            aload 0 /* this */
            getfield org.bson.types.ObjectId.timestamp:I
            invokestatic org.bson.types.ObjectId.int0:(I)B
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
         8: .line 292
            aload 1 /* buffer */
            aload 0 /* this */
            getfield org.bson.types.ObjectId.randomValue1:I
            invokestatic org.bson.types.ObjectId.int2:(I)B
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
         9: .line 293
            aload 1 /* buffer */
            aload 0 /* this */
            getfield org.bson.types.ObjectId.randomValue1:I
            invokestatic org.bson.types.ObjectId.int1:(I)B
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        10: .line 294
            aload 1 /* buffer */
            aload 0 /* this */
            getfield org.bson.types.ObjectId.randomValue1:I
            invokestatic org.bson.types.ObjectId.int0:(I)B
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        11: .line 295
            aload 1 /* buffer */
            aload 0 /* this */
            getfield org.bson.types.ObjectId.randomValue2:S
            invokestatic org.bson.types.ObjectId.short1:(S)B
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        12: .line 296
            aload 1 /* buffer */
            aload 0 /* this */
            getfield org.bson.types.ObjectId.randomValue2:S
            invokestatic org.bson.types.ObjectId.short0:(S)B
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        13: .line 297
            aload 1 /* buffer */
            aload 0 /* this */
            getfield org.bson.types.ObjectId.counter:I
            invokestatic org.bson.types.ObjectId.int2:(I)B
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        14: .line 298
            aload 1 /* buffer */
            aload 0 /* this */
            getfield org.bson.types.ObjectId.counter:I
            invokestatic org.bson.types.ObjectId.int1:(I)B
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        15: .line 299
            aload 1 /* buffer */
            aload 0 /* this */
            getfield org.bson.types.ObjectId.counter:I
            invokestatic org.bson.types.ObjectId.int0:(I)B
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        16: .line 300
            return
        end local 1 // java.nio.ByteBuffer buffer
        end local 0 // org.bson.types.ObjectId this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   17     0    this  Lorg/bson/types/ObjectId;
            0   17     1  buffer  Ljava/nio/ByteBuffer;
    MethodParameters:
        Name  Flags
      buffer  final

  public int getTimestamp();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bson.types.ObjectId this
         0: .line 308
            aload 0 /* this */
            getfield org.bson.types.ObjectId.timestamp:I
            ireturn
        end local 0 // org.bson.types.ObjectId this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/types/ObjectId;

  public java.util.Date getDate();
    descriptor: ()Ljava/util/Date;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // org.bson.types.ObjectId this
         0: .line 317
            new java.util.Date
            dup
            aload 0 /* this */
            getfield org.bson.types.ObjectId.timestamp:I
            i2l
            ldc 4294967295
            land
            ldc 1000
            lmul
            invokespecial java.util.Date.<init>:(J)V
            areturn
        end local 0 // org.bson.types.ObjectId this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/types/ObjectId;

  public java.lang.String toHexString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // org.bson.types.ObjectId this
         0: .line 326
            bipush 24
            newarray 5
            astore 1 /* chars */
        start local 1 // char[] chars
         1: .line 327
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: .line 328
            aload 0 /* this */
            invokevirtual org.bson.types.ObjectId.toByteArray:()[B
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 7
      StackMap locals: org.bson.types.ObjectId char[] int top int int byte[]
      StackMap stack:
         3: aload 6
            iload 4
            baload
            istore 3 /* b */
        start local 3 // byte b
         4: .line 329
            aload 1 /* chars */
            iload 2 /* i */
            iinc 2 /* i */ 1
            getstatic org.bson.types.ObjectId.HEX_CHARS:[C
            iload 3 /* b */
            iconst_4
            ishr
            bipush 15
            iand
            caload
            castore
         5: .line 330
            aload 1 /* chars */
            iload 2 /* i */
            iinc 2 /* i */ 1
            getstatic org.bson.types.ObjectId.HEX_CHARS:[C
            iload 3 /* b */
            bipush 15
            iand
            caload
            castore
        end local 3 // byte b
         6: .line 328
            iinc 4 1
      StackMap locals:
      StackMap stack:
         7: iload 4
            iload 5
            if_icmplt 3
         8: .line 332
            new java.lang.String
            dup
            aload 1 /* chars */
            invokespecial java.lang.String.<init>:([C)V
            areturn
        end local 2 // int i
        end local 1 // char[] chars
        end local 0 // org.bson.types.ObjectId this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lorg/bson/types/ObjectId;
            1    9     1  chars  [C
            2    9     2      i  I
            4    6     3      b  B

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.bson.types.ObjectId this
        start local 1 // java.lang.Object o
         0: .line 337
            aload 0 /* this */
            aload 1 /* o */
            if_acmpne 2
         1: .line 338
            iconst_1
            ireturn
         2: .line 340
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            ifnull 3
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aload 1 /* o */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            if_acmpeq 4
         3: .line 341
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 344
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast org.bson.types.ObjectId
            astore 2 /* objectId */
        start local 2 // org.bson.types.ObjectId objectId
         5: .line 346
            aload 0 /* this */
            getfield org.bson.types.ObjectId.counter:I
            aload 2 /* objectId */
            getfield org.bson.types.ObjectId.counter:I
            if_icmpeq 7
         6: .line 347
            iconst_0
            ireturn
         7: .line 349
      StackMap locals: org.bson.types.ObjectId
      StackMap stack:
            aload 0 /* this */
            getfield org.bson.types.ObjectId.timestamp:I
            aload 2 /* objectId */
            getfield org.bson.types.ObjectId.timestamp:I
            if_icmpeq 9
         8: .line 350
            iconst_0
            ireturn
         9: .line 353
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bson.types.ObjectId.randomValue1:I
            aload 2 /* objectId */
            getfield org.bson.types.ObjectId.randomValue1:I
            if_icmpeq 11
        10: .line 354
            iconst_0
            ireturn
        11: .line 357
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bson.types.ObjectId.randomValue2:S
            aload 2 /* objectId */
            getfield org.bson.types.ObjectId.randomValue2:S
            if_icmpeq 13
        12: .line 358
            iconst_0
            ireturn
        13: .line 361
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // org.bson.types.ObjectId objectId
        end local 1 // java.lang.Object o
        end local 0 // org.bson.types.ObjectId this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Lorg/bson/types/ObjectId;
            0   14     1         o  Ljava/lang/Object;
            5   14     2  objectId  Lorg/bson/types/ObjectId;
    MethodParameters:
      Name  Flags
      o     final

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.bson.types.ObjectId this
         0: .line 366
            aload 0 /* this */
            getfield org.bson.types.ObjectId.timestamp:I
            istore 1 /* result */
        start local 1 // int result
         1: .line 367
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield org.bson.types.ObjectId.counter:I
            iadd
            istore 1 /* result */
         2: .line 368
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield org.bson.types.ObjectId.randomValue1:I
            iadd
            istore 1 /* result */
         3: .line 369
            bipush 31
            iload 1 /* result */
            imul
            aload 0 /* this */
            getfield org.bson.types.ObjectId.randomValue2:S
            iadd
            istore 1 /* result */
         4: .line 370
            iload 1 /* result */
            ireturn
        end local 1 // int result
        end local 0 // org.bson.types.ObjectId this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/bson/types/ObjectId;
            1    5     1  result  I

  public int compareTo(org.bson.types.ObjectId);
    descriptor: (Lorg/bson/types/ObjectId;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.bson.types.ObjectId this
        start local 1 // org.bson.types.ObjectId other
         0: .line 375
            aload 1 /* other */
            ifnonnull 2
         1: .line 376
            new java.lang.NullPointerException
            dup
            invokespecial java.lang.NullPointerException.<init>:()V
            athrow
         2: .line 379
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.bson.types.ObjectId.toByteArray:()[B
            astore 2 /* byteArray */
        start local 2 // byte[] byteArray
         3: .line 380
            aload 1 /* other */
            invokevirtual org.bson.types.ObjectId.toByteArray:()[B
            astore 3 /* otherByteArray */
        start local 3 // byte[] otherByteArray
         4: .line 381
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 11
         6: .line 382
      StackMap locals: byte[] byte[] int
      StackMap stack:
            aload 2 /* byteArray */
            iload 4 /* i */
            baload
            aload 3 /* otherByteArray */
            iload 4 /* i */
            baload
            if_icmpeq 10
         7: .line 383
            aload 2 /* byteArray */
            iload 4 /* i */
            baload
            sipush 255
            iand
            aload 3 /* otherByteArray */
            iload 4 /* i */
            baload
            sipush 255
            iand
            if_icmpge 8
            iconst_m1
            goto 9
      StackMap locals:
      StackMap stack:
         8: iconst_1
      StackMap locals:
      StackMap stack: int
         9: ireturn
        10: .line 381
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 4 /* i */
            bipush 12
            if_icmplt 6
        end local 4 // int i
        12: .line 386
            iconst_0
            ireturn
        end local 3 // byte[] otherByteArray
        end local 2 // byte[] byteArray
        end local 1 // org.bson.types.ObjectId other
        end local 0 // org.bson.types.ObjectId this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0            this  Lorg/bson/types/ObjectId;
            0   13     1           other  Lorg/bson/types/ObjectId;
            3   13     2       byteArray  [B
            4   13     3  otherByteArray  [B
            5   12     4               i  I
    MethodParameters:
       Name  Flags
      other  final

  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.bson.types.ObjectId this
         0: .line 391
            aload 0 /* this */
            invokevirtual org.bson.types.ObjectId.toHexString:()Ljava/lang/String;
            areturn
        end local 0 // org.bson.types.ObjectId this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/types/ObjectId;

  public static org.bson.types.ObjectId createFromLegacyFormat(int, int, int);
    descriptor: (III)Lorg/bson/types/ObjectId;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // int time
        start local 1 // int machine
        start local 2 // int inc
         0: .line 416
            new org.bson.types.ObjectId
            dup
            iload 0 /* time */
            iload 1 /* machine */
            iload 2 /* inc */
            invokespecial org.bson.types.ObjectId.<init>:(III)V
            areturn
        end local 2 // int inc
        end local 1 // int machine
        end local 0 // int time
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     time  I
            0    1     1  machine  I
            0    1     2      inc  I
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      time     final
      machine  final
      inc      final

  public static int getCurrentCounter();
    descriptor: ()I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 427
            getstatic org.bson.types.ObjectId.NEXT_COUNTER:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.get:()I
            ldc 16777215
            iand
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public static int getGeneratedMachineIdentifier();
    descriptor: ()I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 438
            getstatic org.bson.types.ObjectId.RANDOM_VALUE1:I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public static int getGeneratedProcessIdentifier();
    descriptor: ()I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 449
            getstatic org.bson.types.ObjectId.RANDOM_VALUE2:S
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public int getMachineIdentifier();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bson.types.ObjectId this
         0: .line 460
            aload 0 /* this */
            getfield org.bson.types.ObjectId.randomValue1:I
            ireturn
        end local 0 // org.bson.types.ObjectId this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/types/ObjectId;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public short getProcessIdentifier();
    descriptor: ()S
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bson.types.ObjectId this
         0: .line 471
            aload 0 /* this */
            getfield org.bson.types.ObjectId.randomValue2:S
            ireturn
        end local 0 // org.bson.types.ObjectId this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/types/ObjectId;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public int getCounter();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bson.types.ObjectId this
         0: .line 482
            aload 0 /* this */
            getfield org.bson.types.ObjectId.counter:I
            ireturn
        end local 0 // org.bson.types.ObjectId this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/types/ObjectId;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public int getTimeSecond();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bson.types.ObjectId this
         0: .line 493
            aload 0 /* this */
            getfield org.bson.types.ObjectId.timestamp:I
            ireturn
        end local 0 // org.bson.types.ObjectId this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/types/ObjectId;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public long getTime();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.bson.types.ObjectId this
         0: .line 504
            aload 0 /* this */
            getfield org.bson.types.ObjectId.timestamp:I
            i2l
            ldc 4294967295
            land
            ldc 1000
            lmul
            lreturn
        end local 0 // org.bson.types.ObjectId this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/types/ObjectId;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public java.lang.String toStringMongod();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bson.types.ObjectId this
         0: .line 514
            aload 0 /* this */
            invokevirtual org.bson.types.ObjectId.toHexString:()Ljava/lang/String;
            areturn
        end local 0 // org.bson.types.ObjectId this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bson/types/ObjectId;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  private static byte[] parseHexString(java.lang.String);
    descriptor: (Ljava/lang/String;)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // java.lang.String s
         0: .line 528
            aload 0 /* s */
            invokestatic org.bson.types.ObjectId.isValid:(Ljava/lang/String;)Z
            ifne 2
         1: .line 529
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "invalid hexadecimal representation of an ObjectId: ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            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
         2: .line 532
      StackMap locals:
      StackMap stack:
            bipush 12
            newarray 8
            astore 1 /* b */
        start local 1 // byte[] b
         3: .line 533
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 7
         5: .line 534
      StackMap locals: byte[] int
      StackMap stack:
            aload 1 /* b */
            iload 2 /* i */
            aload 0 /* s */
            iload 2 /* i */
            iconst_2
            imul
            iload 2 /* i */
            iconst_2
            imul
            iconst_2
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            bipush 16
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;I)I
            i2b
            bastore
         6: .line 533
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            aload 1 /* b */
            arraylength
            if_icmplt 5
        end local 2 // int i
         8: .line 536
            aload 1 /* b */
            areturn
        end local 1 // byte[] b
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0     s  Ljava/lang/String;
            3    9     1     b  [B
            4    8     2     i  I
    MethodParameters:
      Name  Flags
      s     final

  private static int dateToTimestampSeconds(java.util.Date);
    descriptor: (Ljava/util/Date;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.util.Date time
         0: .line 540
            aload 0 /* time */
            invokevirtual java.util.Date.getTime:()J
            ldc 1000
            ldiv
            l2i
            ireturn
        end local 0 // java.util.Date time
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  time  Ljava/util/Date;
    MethodParameters:
      Name  Flags
      time  final

  private static int makeInt(byte, byte, byte, byte);
    descriptor: (BBBB)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // byte b3
        start local 1 // byte b2
        start local 2 // byte b1
        start local 3 // byte b0
         0: .line 547
            iload 0 /* b3 */
            bipush 24
            ishl
         1: .line 548
            iload 1 /* b2 */
            sipush 255
            iand
            bipush 16
            ishl
         2: .line 547
            ior
         3: .line 549
            iload 2 /* b1 */
            sipush 255
            iand
            bipush 8
            ishl
         4: .line 547
            ior
         5: .line 550
            iload 3 /* b0 */
            sipush 255
            iand
         6: .line 547
            ior
            ireturn
        end local 3 // byte b0
        end local 2 // byte b1
        end local 1 // byte b2
        end local 0 // byte b3
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0    b3  B
            0    7     1    b2  B
            0    7     2    b1  B
            0    7     3    b0  B
    MethodParameters:
      Name  Flags
      b3    final
      b2    final
      b1    final
      b0    final

  private static short makeShort(byte, byte);
    descriptor: (BB)S
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // byte b1
        start local 1 // byte b0
         0: .line 556
            iload 0 /* b1 */
            sipush 255
            iand
            bipush 8
            ishl
            iload 1 /* b0 */
            sipush 255
            iand
            ior
            i2s
            ireturn
        end local 1 // byte b0
        end local 0 // byte b1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    b1  B
            0    1     1    b0  B
    MethodParameters:
      Name  Flags
      b1    final
      b0    final

  private static byte int3(int);
    descriptor: (I)B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int x
         0: .line 561
            iload 0 /* x */
            bipush 24
            ishr
            i2b
            ireturn
        end local 0 // int x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     x  I
    MethodParameters:
      Name  Flags
      x     final

  private static byte int2(int);
    descriptor: (I)B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int x
         0: .line 565
            iload 0 /* x */
            bipush 16
            ishr
            i2b
            ireturn
        end local 0 // int x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     x  I
    MethodParameters:
      Name  Flags
      x     final

  private static byte int1(int);
    descriptor: (I)B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int x
         0: .line 569
            iload 0 /* x */
            bipush 8
            ishr
            i2b
            ireturn
        end local 0 // int x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     x  I
    MethodParameters:
      Name  Flags
      x     final

  private static byte int0(int);
    descriptor: (I)B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int x
         0: .line 573
            iload 0 /* x */
            i2b
            ireturn
        end local 0 // int x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     x  I
    MethodParameters:
      Name  Flags
      x     final

  private static byte short1(short);
    descriptor: (S)B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // short x
         0: .line 577
            iload 0 /* x */
            bipush 8
            ishr
            i2b
            ireturn
        end local 0 // short x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     x  S
    MethodParameters:
      Name  Flags
      x     final

  private static byte short0(short);
    descriptor: (S)B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // short x
         0: .line 581
            iload 0 /* x */
            i2b
            ireturn
        end local 0 // short x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     x  S
    MethodParameters:
      Name  Flags
      x     final

  public int compareTo(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast org.bson.types.ObjectId
            invokevirtual org.bson.types.ObjectId.compareTo:(Lorg/bson/types/ObjectId;)I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Object;Ljava/lang/Comparable<Lorg/bson/types/ObjectId;>;Ljava/io/Serializable;
SourceFile: "ObjectId.java"