public abstract class org.apache.cassandra.transport.ConfiguredLimit implements org.apache.cassandra.transport.ProtocolVersionLimit
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.apache.cassandra.transport.ConfiguredLimit
  super_class: java.lang.Object
{
  private static final org.slf4j.Logger logger;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static final java.lang.String DISABLE_MAX_PROTOCOL_AUTO_OVERRIDE;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "cassandra.disable_max_protocol_auto_override"

  static final org.apache.cassandra.utils.CassandraVersion MIN_VERSION_FOR_V4;
    descriptor: Lorg/apache/cassandra/utils/CassandraVersion;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 30
            ldc Lorg/apache/cassandra/transport/ConfiguredLimit;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic org.apache.cassandra.transport.ConfiguredLimit.logger:Lorg/slf4j/Logger;
         1: .line 32
            new org.apache.cassandra.utils.CassandraVersion
            dup
            ldc "3.0.0"
            invokespecial org.apache.cassandra.utils.CassandraVersion.<init>:(Ljava/lang/String;)V
            putstatic org.apache.cassandra.transport.ConfiguredLimit.MIN_VERSION_FOR_V4:Lorg/apache/cassandra/utils/CassandraVersion;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.transport.ConfiguredLimit this
         0: .line 28
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.apache.cassandra.transport.ConfiguredLimit this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/transport/ConfiguredLimit;

  public abstract org.apache.cassandra.transport.ProtocolVersion getMaxVersion();
    descriptor: ()Lorg/apache/cassandra/transport/ProtocolVersion;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract void updateMaxSupportedVersion();
    descriptor: ()V
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public static org.apache.cassandra.transport.ConfiguredLimit newLimit();
    descriptor: ()Lorg/apache/cassandra/transport/ConfiguredLimit;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=0
         0: .line 39
            ldc "cassandra.disable_max_protocol_auto_override"
            invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 40
            new org.apache.cassandra.transport.ConfiguredLimit$StaticLimit
            dup
            getstatic org.apache.cassandra.transport.ProtocolVersion.MAX_SUPPORTED_VERSION:Lorg/apache/cassandra/transport/ProtocolVersion;
            invokespecial org.apache.cassandra.transport.ConfiguredLimit$StaticLimit.<init>:(Lorg/apache/cassandra/transport/ProtocolVersion;)V
            areturn
         2: .line 42
      StackMap locals:
      StackMap stack:
            invokestatic org.apache.cassandra.config.DatabaseDescriptor.getNativeProtocolMaxVersionOverride:()I
            istore 0 /* fromConfig */
        start local 0 // int fromConfig
         3: .line 43
            iload 0 /* fromConfig */
            ldc -2147483648
            if_icmpeq 5
         4: .line 44
            new org.apache.cassandra.transport.ConfiguredLimit$StaticLimit
            dup
            iload 0 /* fromConfig */
            getstatic org.apache.cassandra.transport.ProtocolVersionLimit.SERVER_DEFAULT:Lorg/apache/cassandra/transport/ProtocolVersionLimit;
            invokestatic org.apache.cassandra.transport.ProtocolVersion.decode:(ILorg/apache/cassandra/transport/ProtocolVersionLimit;)Lorg/apache/cassandra/transport/ProtocolVersion;
            invokespecial org.apache.cassandra.transport.ConfiguredLimit$StaticLimit.<init>:(Lorg/apache/cassandra/transport/ProtocolVersion;)V
            goto 6
         5: .line 45
      StackMap locals: int
      StackMap stack:
            new org.apache.cassandra.transport.ConfiguredLimit$DynamicLimit
            dup
            getstatic org.apache.cassandra.transport.ProtocolVersion.MAX_SUPPORTED_VERSION:Lorg/apache/cassandra/transport/ProtocolVersion;
            invokespecial org.apache.cassandra.transport.ConfiguredLimit$DynamicLimit.<init>:(Lorg/apache/cassandra/transport/ProtocolVersion;)V
         6: .line 43
      StackMap locals:
      StackMap stack: org.apache.cassandra.transport.ConfiguredLimit
            areturn
        end local 0 // int fromConfig
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            3    7     0  fromConfig  I
}
SourceFile: "ConfiguredLimit.java"
NestMembers:
  org.apache.cassandra.transport.ConfiguredLimit$DynamicLimit  org.apache.cassandra.transport.ConfiguredLimit$StaticLimit
InnerClasses:
  private DynamicLimit = org.apache.cassandra.transport.ConfiguredLimit$DynamicLimit of org.apache.cassandra.transport.ConfiguredLimit
  private StaticLimit = org.apache.cassandra.transport.ConfiguredLimit$StaticLimit of org.apache.cassandra.transport.ConfiguredLimit