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

  public abstract void close();
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (TT;)V
    MethodParameters:
      Name  Flags
      t     

  public abstract com.mongodb.internal.connection.ConcurrentPool$Prune shouldPrune(T);
    descriptor: (Ljava/lang/Object;)Lcom/mongodb/internal/connection/ConcurrentPool$Prune;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: (TT;)Lcom/mongodb/internal/connection/ConcurrentPool$Prune;
    MethodParameters:
      Name  Flags
      t     
}
Signature: <T:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "ConcurrentPool.java"
NestHost: com.mongodb.internal.connection.ConcurrentPool
InnerClasses:
  public abstract ItemFactory = com.mongodb.internal.connection.ConcurrentPool$ItemFactory of com.mongodb.internal.connection.ConcurrentPool
  public final Prune = com.mongodb.internal.connection.ConcurrentPool$Prune of com.mongodb.internal.connection.ConcurrentPool