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

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

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

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