public class com.mongodb.internal.connection.ClusterClock
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.mongodb.internal.connection.ClusterClock
  super_class: java.lang.Object
{
  private static final java.lang.String CLUSTER_TIME_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "clusterTime"

  private org.bson.BsonDocument clusterTime;
    descriptor: Lorg/bson/BsonDocument;
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.internal.connection.ClusterClock this
         0: .line 22
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.mongodb.internal.connection.ClusterClock this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/internal/connection/ClusterClock;

  public synchronized org.bson.BsonDocument getCurrent();
    descriptor: ()Lorg/bson/BsonDocument;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.mongodb.internal.connection.ClusterClock this
         0: .line 27
            aload 0 /* this */
            getfield com.mongodb.internal.connection.ClusterClock.clusterTime:Lorg/bson/BsonDocument;
            areturn
        end local 0 // com.mongodb.internal.connection.ClusterClock this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/mongodb/internal/connection/ClusterClock;

  public synchronized org.bson.BsonTimestamp getClusterTime();
    descriptor: ()Lorg/bson/BsonTimestamp;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.mongodb.internal.connection.ClusterClock this
         0: .line 31
            aload 0 /* this */
            getfield com.mongodb.internal.connection.ClusterClock.clusterTime:Lorg/bson/BsonDocument;
            ifnull 1
            aload 0 /* this */
            getfield com.mongodb.internal.connection.ClusterClock.clusterTime:Lorg/bson/BsonDocument;
            ldc "clusterTime"
            invokevirtual org.bson.BsonDocument.getTimestamp:(Ljava/lang/Object;)Lorg/bson/BsonTimestamp;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: org.bson.BsonTimestamp
         2: areturn
        end local 0 // com.mongodb.internal.connection.ClusterClock this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/mongodb/internal/connection/ClusterClock;

  public synchronized void advance(org.bson.BsonDocument);
    descriptor: (Lorg/bson/BsonDocument;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.mongodb.internal.connection.ClusterClock this
        start local 1 // org.bson.BsonDocument other
         0: .line 35
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* other */
            invokevirtual com.mongodb.internal.connection.ClusterClock.greaterOf:(Lorg/bson/BsonDocument;)Lorg/bson/BsonDocument;
            putfield com.mongodb.internal.connection.ClusterClock.clusterTime:Lorg/bson/BsonDocument;
         1: .line 36
            return
        end local 1 // org.bson.BsonDocument other
        end local 0 // com.mongodb.internal.connection.ClusterClock this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/mongodb/internal/connection/ClusterClock;
            0    2     1  other  Lorg/bson/BsonDocument;
    MethodParameters:
       Name  Flags
      other  final

  public synchronized org.bson.BsonDocument greaterOf(org.bson.BsonDocument);
    descriptor: (Lorg/bson/BsonDocument;)Lorg/bson/BsonDocument;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.mongodb.internal.connection.ClusterClock this
        start local 1 // org.bson.BsonDocument other
         0: .line 39
            aload 1 /* other */
            ifnonnull 2
         1: .line 40
            aload 0 /* this */
            getfield com.mongodb.internal.connection.ClusterClock.clusterTime:Lorg/bson/BsonDocument;
            areturn
         2: .line 41
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.mongodb.internal.connection.ClusterClock.clusterTime:Lorg/bson/BsonDocument;
            ifnonnull 4
         3: .line 42
            aload 1 /* other */
            areturn
         4: .line 44
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            ldc "clusterTime"
            invokevirtual org.bson.BsonDocument.getTimestamp:(Ljava/lang/Object;)Lorg/bson/BsonTimestamp;
            aload 0 /* this */
            getfield com.mongodb.internal.connection.ClusterClock.clusterTime:Lorg/bson/BsonDocument;
            ldc "clusterTime"
            invokevirtual org.bson.BsonDocument.getTimestamp:(Ljava/lang/Object;)Lorg/bson/BsonTimestamp;
            invokevirtual org.bson.BsonTimestamp.compareTo:(Lorg/bson/BsonTimestamp;)I
            ifle 5
            aload 1 /* other */
            goto 6
      StackMap locals:
      StackMap stack:
         5: aload 0 /* this */
            getfield com.mongodb.internal.connection.ClusterClock.clusterTime:Lorg/bson/BsonDocument;
      StackMap locals:
      StackMap stack: org.bson.BsonDocument
         6: areturn
        end local 1 // org.bson.BsonDocument other
        end local 0 // com.mongodb.internal.connection.ClusterClock this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lcom/mongodb/internal/connection/ClusterClock;
            0    7     1  other  Lorg/bson/BsonDocument;
    MethodParameters:
       Name  Flags
      other  final
}
SourceFile: "ClusterClock.java"