public class org.apache.catalina.startup.RealmRuleSet implements org.apache.tomcat.util.digester.RuleSet
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.catalina.startup.RealmRuleSet
  super_class: java.lang.Object
{
  private static final int MAX_NESTED_REALM_LEVELS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  protected final java.lang.String prefix;
    descriptor: Ljava/lang/String;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 30
            ldc "org.apache.catalina.startup.RealmRuleSet.MAX_NESTED_REALM_LEVELS"
         1: .line 31
            iconst_3
         2: .line 29
            invokestatic java.lang.Integer.getInteger:(Ljava/lang/String;I)Ljava/lang/Integer;
         3: .line 31
            invokevirtual java.lang.Integer.intValue:()I
         4: .line 29
            putstatic org.apache.catalina.startup.RealmRuleSet.MAX_NESTED_REALM_LEVELS:I
         5: .line 31
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.catalina.startup.RealmRuleSet this
         0: .line 49
            aload 0 /* this */
            ldc ""
            invokespecial org.apache.catalina.startup.RealmRuleSet.<init>:(Ljava/lang/String;)V
         1: .line 50
            return
        end local 0 // org.apache.catalina.startup.RealmRuleSet this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/catalina/startup/RealmRuleSet;

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.catalina.startup.RealmRuleSet this
        start local 1 // java.lang.String prefix
         0: .line 60
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 61
            aload 0 /* this */
            aload 1 /* prefix */
            putfield org.apache.catalina.startup.RealmRuleSet.prefix:Ljava/lang/String;
         2: .line 62
            return
        end local 1 // java.lang.String prefix
        end local 0 // org.apache.catalina.startup.RealmRuleSet this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/apache/catalina/startup/RealmRuleSet;
            0    3     1  prefix  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      prefix  

  public void addRuleInstances(org.apache.tomcat.util.digester.Digester);
    descriptor: (Lorg/apache/tomcat/util/digester/Digester;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.apache.catalina.startup.RealmRuleSet this
        start local 1 // org.apache.tomcat.util.digester.Digester digester
         0: .line 78
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.apache.catalina.startup.RealmRuleSet.prefix:Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 2 /* pattern */
        start local 2 // java.lang.StringBuilder pattern
         1: .line 79
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 10
         3: .line 80
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            iload 3 /* i */
            ifle 5
         4: .line 81
            aload 2 /* pattern */
            bipush 47
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         5: .line 83
      StackMap locals:
      StackMap stack:
            aload 2 /* pattern */
            ldc "Realm"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 84
            aload 0 /* this */
            aload 1 /* digester */
            aload 2 /* pattern */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iload 3 /* i */
            ifne 7
            ldc "setRealm"
            goto 8
      StackMap locals: org.apache.catalina.startup.RealmRuleSet org.apache.tomcat.util.digester.Digester java.lang.StringBuilder int
      StackMap stack: org.apache.catalina.startup.RealmRuleSet org.apache.tomcat.util.digester.Digester java.lang.String
         7: ldc "addRealm"
      StackMap locals: org.apache.catalina.startup.RealmRuleSet org.apache.tomcat.util.digester.Digester java.lang.StringBuilder int
      StackMap stack: org.apache.catalina.startup.RealmRuleSet org.apache.tomcat.util.digester.Digester java.lang.String java.lang.String
         8: invokevirtual org.apache.catalina.startup.RealmRuleSet.addRuleInstances:(Lorg/apache/tomcat/util/digester/Digester;Ljava/lang/String;Ljava/lang/String;)V
         9: .line 79
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 3 /* i */
            getstatic org.apache.catalina.startup.RealmRuleSet.MAX_NESTED_REALM_LEVELS:I
            if_icmplt 3
        end local 3 // int i
        11: .line 86
            return
        end local 2 // java.lang.StringBuilder pattern
        end local 1 // org.apache.tomcat.util.digester.Digester digester
        end local 0 // org.apache.catalina.startup.RealmRuleSet this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Lorg/apache/catalina/startup/RealmRuleSet;
            0   12     1  digester  Lorg/apache/tomcat/util/digester/Digester;
            1   12     2   pattern  Ljava/lang/StringBuilder;
            2   11     3         i  I
    MethodParameters:
          Name  Flags
      digester  

  private void addRuleInstances(org.apache.tomcat.util.digester.Digester, java.lang.String, java.lang.String);
    descriptor: (Lorg/apache/tomcat/util/digester/Digester;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.apache.catalina.startup.RealmRuleSet this
        start local 1 // org.apache.tomcat.util.digester.Digester digester
        start local 2 // java.lang.String pattern
        start local 3 // java.lang.String methodName
         0: .line 89
            aload 1 /* digester */
            aload 2 /* pattern */
            aconst_null
         1: .line 90
            ldc "className"
         2: .line 89
            invokevirtual org.apache.tomcat.util.digester.Digester.addObjectCreate:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         3: .line 91
            aload 1 /* digester */
            aload 2 /* pattern */
            invokevirtual org.apache.tomcat.util.digester.Digester.addSetProperties:(Ljava/lang/String;)V
         4: .line 92
            aload 1 /* digester */
            aload 2 /* pattern */
            aload 3 /* methodName */
            ldc "org.apache.catalina.Realm"
            invokevirtual org.apache.tomcat.util.digester.Digester.addSetNext:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
         5: .line 93
            aload 1 /* digester */
            new org.apache.catalina.startup.CredentialHandlerRuleSet
            dup
            new java.lang.StringBuilder
            dup
            aload 2 /* pattern */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.apache.catalina.startup.CredentialHandlerRuleSet.<init>:(Ljava/lang/String;)V
            invokevirtual org.apache.tomcat.util.digester.Digester.addRuleSet:(Lorg/apache/tomcat/util/digester/RuleSet;)V
         6: .line 94
            return
        end local 3 // java.lang.String methodName
        end local 2 // java.lang.String pattern
        end local 1 // org.apache.tomcat.util.digester.Digester digester
        end local 0 // org.apache.catalina.startup.RealmRuleSet this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/apache/catalina/startup/RealmRuleSet;
            0    7     1    digester  Lorg/apache/tomcat/util/digester/Digester;
            0    7     2     pattern  Ljava/lang/String;
            0    7     3  methodName  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      digester    
      pattern     
      methodName  
}
SourceFile: "RealmRuleSet.java"