public interface com.mongodb.internal.connection.CommandProtocol<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: com.mongodb.internal.connection.CommandProtocol
  super_class: java.lang.Object
{
  public abstract T execute(com.mongodb.internal.connection.InternalConnection);
    descriptor: (Lcom/mongodb/internal/connection/InternalConnection;)Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lcom/mongodb/internal/connection/InternalConnection;)TT;
    MethodParameters:
            Name  Flags
      connection  

  public abstract void executeAsync(com.mongodb.internal.connection.InternalConnection, com.mongodb.async.SingleResultCallback<T>);
    descriptor: (Lcom/mongodb/internal/connection/InternalConnection;Lcom/mongodb/async/SingleResultCallback;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lcom/mongodb/internal/connection/InternalConnection;Lcom/mongodb/async/SingleResultCallback<TT;>;)V
    MethodParameters:
            Name  Flags
      connection  
      callback    

  public abstract com.mongodb.internal.connection.CommandProtocol<T> sessionContext(com.mongodb.session.SessionContext);
    descriptor: (Lcom/mongodb/session/SessionContext;)Lcom/mongodb/internal/connection/CommandProtocol;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (Lcom/mongodb/session/SessionContext;)Lcom/mongodb/internal/connection/CommandProtocol<TT;>;
    MethodParameters:
                Name  Flags
      sessionContext  
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "CommandProtocol.java"