public class org.jasypt.digest.PooledStringDigester implements org.jasypt.digest.StringDigester
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jasypt.digest.PooledStringDigester
  super_class: java.lang.Object
{
  private final org.jasypt.digest.StandardStringDigester firstDigester;
    descriptor: Lorg/jasypt/digest/StandardStringDigester;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private org.jasypt.digest.config.DigesterConfig config;
    descriptor: Lorg/jasypt/digest/config/DigesterConfig;
    flags: (0x0002) ACC_PRIVATE

  private int poolSize;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private boolean poolSizeSet;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private org.jasypt.digest.StandardStringDigester[] pool;
    descriptor: [Lorg/jasypt/digest/StandardStringDigester;
    flags: (0x0002) ACC_PRIVATE

  private int roundRobin;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private boolean initialized;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.jasypt.digest.PooledStringDigester this
         0: .line 79
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 57
            aload 0 /* this */
            aconst_null
            putfield org.jasypt.digest.PooledStringDigester.config:Lorg/jasypt/digest/config/DigesterConfig;
         2: .line 58
            aload 0 /* this */
            iconst_0
            putfield org.jasypt.digest.PooledStringDigester.poolSize:I
         3: .line 59
            aload 0 /* this */
            iconst_0
            putfield org.jasypt.digest.PooledStringDigester.poolSizeSet:Z
         4: .line 62
            aload 0 /* this */
            iconst_0
            putfield org.jasypt.digest.PooledStringDigester.roundRobin:I
         5: .line 71
            aload 0 /* this */
            iconst_0
            putfield org.jasypt.digest.PooledStringDigester.initialized:Z
         6: .line 80
            aload 0 /* this */
            new org.jasypt.digest.StandardStringDigester
            dup
            invokespecial org.jasypt.digest.StandardStringDigester.<init>:()V
            putfield org.jasypt.digest.PooledStringDigester.firstDigester:Lorg/jasypt/digest/StandardStringDigester;
         7: .line 81
            return
        end local 0 // org.jasypt.digest.PooledStringDigester this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/jasypt/digest/PooledStringDigester;

  public synchronized void setConfig(org.jasypt.digest.config.DigesterConfig);
    descriptor: (Lorg/jasypt/digest/config/DigesterConfig;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jasypt.digest.PooledStringDigester this
        start local 1 // org.jasypt.digest.config.DigesterConfig config
         0: .line 114
            aload 0 /* this */
            getfield org.jasypt.digest.PooledStringDigester.firstDigester:Lorg/jasypt/digest/StandardStringDigester;
            aload 1 /* config */
            invokevirtual org.jasypt.digest.StandardStringDigester.setConfig:(Lorg/jasypt/digest/config/DigesterConfig;)V
         1: .line 115
            aload 0 /* this */
            aload 1 /* config */
            putfield org.jasypt.digest.PooledStringDigester.config:Lorg/jasypt/digest/config/DigesterConfig;
         2: .line 116
            return
        end local 1 // org.jasypt.digest.config.DigesterConfig config
        end local 0 // org.jasypt.digest.PooledStringDigester this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/jasypt/digest/PooledStringDigester;
            0    3     1  config  Lorg/jasypt/digest/config/DigesterConfig;
    MethodParameters:
        Name  Flags
      config  final

  public synchronized void setAlgorithm(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jasypt.digest.PooledStringDigester this
        start local 1 // java.lang.String algorithm
         0: .line 146
            aload 0 /* this */
            getfield org.jasypt.digest.PooledStringDigester.firstDigester:Lorg/jasypt/digest/StandardStringDigester;
            aload 1 /* algorithm */
            invokevirtual org.jasypt.digest.StandardStringDigester.setAlgorithm:(Ljava/lang/String;)V
         1: .line 147
            return
        end local 1 // java.lang.String algorithm
        end local 0 // org.jasypt.digest.PooledStringDigester this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/jasypt/digest/PooledStringDigester;
            0    2     1  algorithm  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      algorithm  final

  public synchronized void setSaltSizeBytes(int);
    descriptor: (I)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jasypt.digest.PooledStringDigester this
        start local 1 // int saltSizeBytes
         0: .line 165
            aload 0 /* this */
            getfield org.jasypt.digest.PooledStringDigester.firstDigester:Lorg/jasypt/digest/StandardStringDigester;
            iload 1 /* saltSizeBytes */
            invokevirtual org.jasypt.digest.StandardStringDigester.setSaltSizeBytes:(I)V
         1: .line 166
            return
        end local 1 // int saltSizeBytes
        end local 0 // org.jasypt.digest.PooledStringDigester this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/jasypt/digest/PooledStringDigester;
            0    2     1  saltSizeBytes  I
    MethodParameters:
               Name  Flags
      saltSizeBytes  final

  public synchronized void setIterations(int);
    descriptor: (I)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jasypt.digest.PooledStringDigester this
        start local 1 // int iterations
         0: .line 185
            aload 0 /* this */
            getfield org.jasypt.digest.PooledStringDigester.firstDigester:Lorg/jasypt/digest/StandardStringDigester;
            iload 1 /* iterations */
            invokevirtual org.jasypt.digest.StandardStringDigester.setIterations:(I)V
         1: .line 186
            return
        end local 1 // int iterations
        end local 0 // org.jasypt.digest.PooledStringDigester this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lorg/jasypt/digest/PooledStringDigester;
            0    2     1  iterations  I
    MethodParameters:
            Name  Flags
      iterations  final

  public synchronized void setSaltGenerator(org.jasypt.salt.SaltGenerator);
    descriptor: (Lorg/jasypt/salt/SaltGenerator;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jasypt.digest.PooledStringDigester this
        start local 1 // org.jasypt.salt.SaltGenerator saltGenerator
         0: .line 198
            aload 0 /* this */
            getfield org.jasypt.digest.PooledStringDigester.firstDigester:Lorg/jasypt/digest/StandardStringDigester;
            aload 1 /* saltGenerator */
            invokevirtual org.jasypt.digest.StandardStringDigester.setSaltGenerator:(Lorg/jasypt/salt/SaltGenerator;)V
         1: .line 199
            return
        end local 1 // org.jasypt.salt.SaltGenerator saltGenerator
        end local 0 // org.jasypt.digest.PooledStringDigester this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/jasypt/digest/PooledStringDigester;
            0    2     1  saltGenerator  Lorg/jasypt/salt/SaltGenerator;
    MethodParameters:
               Name  Flags
      saltGenerator  final

  public synchronized void setProviderName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jasypt.digest.PooledStringDigester this
        start local 1 // java.lang.String providerName
         0: .line 228
            aload 0 /* this */
            getfield org.jasypt.digest.PooledStringDigester.firstDigester:Lorg/jasypt/digest/StandardStringDigester;
            aload 1 /* providerName */
            invokevirtual org.jasypt.digest.StandardStringDigester.setProviderName:(Ljava/lang/String;)V
         1: .line 229
            return
        end local 1 // java.lang.String providerName
        end local 0 // org.jasypt.digest.PooledStringDigester this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/jasypt/digest/PooledStringDigester;
            0    2     1  providerName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      providerName  final

  public synchronized void setProvider(java.security.Provider);
    descriptor: (Ljava/security/Provider;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jasypt.digest.PooledStringDigester this
        start local 1 // java.security.Provider provider
         0: .line 251
            aload 0 /* this */
            getfield org.jasypt.digest.PooledStringDigester.firstDigester:Lorg/jasypt/digest/StandardStringDigester;
            aload 1 /* provider */
            invokevirtual org.jasypt.digest.StandardStringDigester.setProvider:(Ljava/security/Provider;)V
         1: .line 252
            return
        end local 1 // java.security.Provider provider
        end local 0 // org.jasypt.digest.PooledStringDigester this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/jasypt/digest/PooledStringDigester;
            0    2     1  provider  Ljava/security/Provider;
    MethodParameters:
          Name  Flags
      provider  final

  public synchronized void setInvertPositionOfSaltInMessageBeforeDigesting(boolean);
    descriptor: (Z)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jasypt.digest.PooledStringDigester this
        start local 1 // boolean invertPositionOfSaltInMessageBeforeDigesting
         0: .line 275
            aload 0 /* this */
            getfield org.jasypt.digest.PooledStringDigester.firstDigester:Lorg/jasypt/digest/StandardStringDigester;
            iload 1 /* invertPositionOfSaltInMessageBeforeDigesting */
            invokevirtual org.jasypt.digest.StandardStringDigester.setInvertPositionOfSaltInMessageBeforeDigesting:(Z)V
         1: .line 276
            return
        end local 1 // boolean invertPositionOfSaltInMessageBeforeDigesting
        end local 0 // org.jasypt.digest.PooledStringDigester this
      LocalVariableTable:
        Start  End  Slot                                          Name  Signature
            0    2     0                                          this  Lorg/jasypt/digest/PooledStringDigester;
            0    2     1  invertPositionOfSaltInMessageBeforeDigesting  Z
    MethodParameters:
                                              Name  Flags
      invertPositionOfSaltInMessageBeforeDigesting  final

  public synchronized void setInvertPositionOfPlainSaltInEncryptionResults(boolean);
    descriptor: (Z)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jasypt.digest.PooledStringDigester this
        start local 1 // boolean invertPositionOfPlainSaltInEncryptionResults
         0: .line 301
            aload 0 /* this */
            getfield org.jasypt.digest.PooledStringDigester.firstDigester:Lorg/jasypt/digest/StandardStringDigester;
            iload 1 /* invertPositionOfPlainSaltInEncryptionResults */
            invokevirtual org.jasypt.digest.StandardStringDigester.setInvertPositionOfPlainSaltInEncryptionResults:(Z)V
         1: .line 302
            return
        end local 1 // boolean invertPositionOfPlainSaltInEncryptionResults
        end local 0 // org.jasypt.digest.PooledStringDigester this
      LocalVariableTable:
        Start  End  Slot                                          Name  Signature
            0    2     0                                          this  Lorg/jasypt/digest/PooledStringDigester;
            0    2     1  invertPositionOfPlainSaltInEncryptionResults  Z
    MethodParameters:
                                              Name  Flags
      invertPositionOfPlainSaltInEncryptionResults  final

  public synchronized void setUseLenientSaltSizeCheck(boolean);
    descriptor: (Z)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jasypt.digest.PooledStringDigester this
        start local 1 // boolean useLenientSaltSizeCheck
         0: .line 343
            aload 0 /* this */
            getfield org.jasypt.digest.PooledStringDigester.firstDigester:Lorg/jasypt/digest/StandardStringDigester;
            iload 1 /* useLenientSaltSizeCheck */
            invokevirtual org.jasypt.digest.StandardStringDigester.setUseLenientSaltSizeCheck:(Z)V
         1: .line 344
            return
        end local 1 // boolean useLenientSaltSizeCheck
        end local 0 // org.jasypt.digest.PooledStringDigester this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    2     0                     this  Lorg/jasypt/digest/PooledStringDigester;
            0    2     1  useLenientSaltSizeCheck  Z
    MethodParameters:
                         Name  Flags
      useLenientSaltSizeCheck  final

  public synchronized void setUnicodeNormalizationIgnored(boolean);
    descriptor: (Z)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jasypt.digest.PooledStringDigester this
        start local 1 // boolean unicodeNormalizationIgnored
         0: .line 374
            aload 0 /* this */
            getfield org.jasypt.digest.PooledStringDigester.firstDigester:Lorg/jasypt/digest/StandardStringDigester;
            iload 1 /* unicodeNormalizationIgnored */
            invokevirtual org.jasypt.digest.StandardStringDigester.setUnicodeNormalizationIgnored:(Z)V
         1: .line 375
            return
        end local 1 // boolean unicodeNormalizationIgnored
        end local 0 // org.jasypt.digest.PooledStringDigester this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0    2     0                         this  Lorg/jasypt/digest/PooledStringDigester;
            0    2     1  unicodeNormalizationIgnored  Z
    MethodParameters:
                             Name  Flags
      unicodeNormalizationIgnored  final

  public synchronized void setStringOutputType(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jasypt.digest.PooledStringDigester this
        start local 1 // java.lang.String stringOutputType
         0: .line 395
            aload 0 /* this */
            getfield org.jasypt.digest.PooledStringDigester.firstDigester:Lorg/jasypt/digest/StandardStringDigester;
            aload 1 /* stringOutputType */
            invokevirtual org.jasypt.digest.StandardStringDigester.setStringOutputType:(Ljava/lang/String;)V
         1: .line 396
            return
        end local 1 // java.lang.String stringOutputType
        end local 0 // org.jasypt.digest.PooledStringDigester this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0              this  Lorg/jasypt/digest/PooledStringDigester;
            0    2     1  stringOutputType  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      stringOutputType  final

  public synchronized void setPrefix(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jasypt.digest.PooledStringDigester this
        start local 1 // java.lang.String prefix
         0: .line 413
            aload 0 /* this */
            getfield org.jasypt.digest.PooledStringDigester.firstDigester:Lorg/jasypt/digest/StandardStringDigester;
            aload 1 /* prefix */
            invokevirtual org.jasypt.digest.StandardStringDigester.setPrefix:(Ljava/lang/String;)V
         1: .line 414
            return
        end local 1 // java.lang.String prefix
        end local 0 // org.jasypt.digest.PooledStringDigester this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/jasypt/digest/PooledStringDigester;
            0    2     1  prefix  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      prefix  final

  public synchronized void setSuffix(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jasypt.digest.PooledStringDigester this
        start local 1 // java.lang.String suffix
         0: .line 431
            aload 0 /* this */
            getfield org.jasypt.digest.PooledStringDigester.firstDigester:Lorg/jasypt/digest/StandardStringDigester;
            aload 1 /* suffix */
            invokevirtual org.jasypt.digest.StandardStringDigester.setSuffix:(Ljava/lang/String;)V
         1: .line 432
            return
        end local 1 // java.lang.String suffix
        end local 0 // org.jasypt.digest.PooledStringDigester this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/jasypt/digest/PooledStringDigester;
            0    2     1  suffix  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      suffix  final

  public synchronized void setPoolSize(int);
    descriptor: (I)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jasypt.digest.PooledStringDigester this
        start local 1 // int poolSize
         0: .line 447
            iload 1 /* poolSize */
            ifle 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ldc "Pool size be > 0"
            invokestatic org.jasypt.commons.CommonUtils.validateIsTrue:(ZLjava/lang/String;)V
         3: .line 448
            aload 0 /* this */
            invokevirtual org.jasypt.digest.PooledStringDigester.isInitialized:()Z
            ifeq 5
         4: .line 449
            new org.jasypt.exceptions.AlreadyInitializedException
            dup
            invokespecial org.jasypt.exceptions.AlreadyInitializedException.<init>:()V
            athrow
         5: .line 451
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* poolSize */
            putfield org.jasypt.digest.PooledStringDigester.poolSize:I
         6: .line 452
            aload 0 /* this */
            iconst_1
            putfield org.jasypt.digest.PooledStringDigester.poolSizeSet:Z
         7: .line 453
            return
        end local 1 // int poolSize
        end local 0 // org.jasypt.digest.PooledStringDigester this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/jasypt/digest/PooledStringDigester;
            0    8     1  poolSize  I
    MethodParameters:
          Name  Flags
      poolSize  final

  public boolean isInitialized();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jasypt.digest.PooledStringDigester this
         0: .line 481
            aload 0 /* this */
            getfield org.jasypt.digest.PooledStringDigester.initialized:Z
            ireturn
        end local 0 // org.jasypt.digest.PooledStringDigester this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jasypt/digest/PooledStringDigester;

  public synchronized void initialize();
    descriptor: ()V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.jasypt.digest.PooledStringDigester this
         0: .line 522
            aload 0 /* this */
            getfield org.jasypt.digest.PooledStringDigester.initialized:Z
            ifne 18
         1: .line 524
            aload 0 /* this */
            getfield org.jasypt.digest.PooledStringDigester.config:Lorg/jasypt/digest/config/DigesterConfig;
            ifnull 8
         2: .line 526
            aload 0 /* this */
            getfield org.jasypt.digest.PooledStringDigester.config:Lorg/jasypt/digest/config/DigesterConfig;
            invokeinterface org.jasypt.digest.config.DigesterConfig.getPoolSize:()Ljava/lang/Integer;
            astore 1 /* configPoolSize */
        start local 1 // java.lang.Integer configPoolSize
         3: .line 528
            aload 0 /* this */
         4: .line 529
            aload 0 /* this */
            getfield org.jasypt.digest.PooledStringDigester.poolSizeSet:Z
            ifne 5
            aload 1 /* configPoolSize */
            ifnonnull 6
         5: .line 530
      StackMap locals: org.jasypt.digest.PooledStringDigester java.lang.Integer
      StackMap stack: org.jasypt.digest.PooledStringDigester
            aload 0 /* this */
            getfield org.jasypt.digest.PooledStringDigester.poolSize:I
            goto 7
      StackMap locals:
      StackMap stack: org.jasypt.digest.PooledStringDigester
         6: aload 1 /* configPoolSize */
            invokevirtual java.lang.Integer.intValue:()I
         7: .line 528
      StackMap locals: org.jasypt.digest.PooledStringDigester java.lang.Integer
      StackMap stack: org.jasypt.digest.PooledStringDigester int
            putfield org.jasypt.digest.PooledStringDigester.poolSize:I
        end local 1 // java.lang.Integer configPoolSize
         8: .line 534
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jasypt.digest.PooledStringDigester.poolSize:I
            ifgt 10
         9: .line 535
            new java.lang.IllegalArgumentException
            dup
            ldc "Pool size must be set and > 0"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 538
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jasypt.digest.PooledStringDigester.poolSize:I
            anewarray org.jasypt.digest.StandardStringDigester
            putfield org.jasypt.digest.PooledStringDigester.pool:[Lorg/jasypt/digest/StandardStringDigester;
        11: .line 539
            aload 0 /* this */
            getfield org.jasypt.digest.PooledStringDigester.pool:[Lorg/jasypt/digest/StandardStringDigester;
            iconst_0
            aload 0 /* this */
            getfield org.jasypt.digest.PooledStringDigester.firstDigester:Lorg/jasypt/digest/StandardStringDigester;
            aastore
        12: .line 542
            iconst_1
            istore 1 /* i */
        start local 1 // int i
        13: goto 16
        14: .line 543
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.jasypt.digest.PooledStringDigester.pool:[Lorg/jasypt/digest/StandardStringDigester;
            iload 1 /* i */
            aload 0 /* this */
            getfield org.jasypt.digest.PooledStringDigester.pool:[Lorg/jasypt/digest/StandardStringDigester;
            iload 1 /* i */
            iconst_1
            isub
            aaload
            invokevirtual org.jasypt.digest.StandardStringDigester.cloneDigester:()Lorg/jasypt/digest/StandardStringDigester;
            aastore
        15: .line 542
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 1 /* i */
            aload 0 /* this */
            getfield org.jasypt.digest.PooledStringDigester.poolSize:I
            if_icmplt 14
        end local 1 // int i
        17: .line 546
            aload 0 /* this */
            iconst_1
            putfield org.jasypt.digest.PooledStringDigester.initialized:Z
        18: .line 550
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.jasypt.digest.PooledStringDigester this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   19     0            this  Lorg/jasypt/digest/PooledStringDigester;
            3    8     1  configPoolSize  Ljava/lang/Integer;
           13   17     1               i  I

  public java.lang.String digest(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.jasypt.digest.PooledStringDigester this
        start local 1 // java.lang.String message
         0: .line 632
            aload 0 /* this */
            invokevirtual org.jasypt.digest.PooledStringDigester.isInitialized:()Z
            ifne 2
         1: .line 633
            aload 0 /* this */
            invokevirtual org.jasypt.digest.PooledStringDigester.initialize:()V
         2: .line 637
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         3: .line 638
            aload 0 /* this */
            getfield org.jasypt.digest.PooledStringDigester.roundRobin:I
            istore 2 /* poolPosition */
        start local 2 // int poolPosition
         4: .line 639
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jasypt.digest.PooledStringDigester.roundRobin:I
            iconst_1
            iadd
            aload 0 /* this */
            getfield org.jasypt.digest.PooledStringDigester.poolSize:I
            irem
            putfield org.jasypt.digest.PooledStringDigester.roundRobin:I
         5: .line 637
            aload 3
            monitorexit
         6: goto 9
        end local 2 // int poolPosition
      StackMap locals: org.jasypt.digest.PooledStringDigester java.lang.String top org.jasypt.digest.PooledStringDigester
      StackMap stack: java.lang.Throwable
         7: aload 3
            monitorexit
         8: athrow
        start local 2 // int poolPosition
         9: .line 641
      StackMap locals: org.jasypt.digest.PooledStringDigester java.lang.String int
      StackMap stack:
            aload 0 /* this */
            getfield org.jasypt.digest.PooledStringDigester.pool:[Lorg/jasypt/digest/StandardStringDigester;
            iload 2 /* poolPosition */
            aaload
            aload 1 /* message */
            invokevirtual org.jasypt.digest.StandardStringDigester.digest:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 2 // int poolPosition
        end local 1 // java.lang.String message
        end local 0 // org.jasypt.digest.PooledStringDigester this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Lorg/jasypt/digest/PooledStringDigester;
            0   10     1       message  Ljava/lang/String;
            4    7     2  poolPosition  I
            9   10     2  poolPosition  I
      Exception table:
        from    to  target  type
           3     6       7  any
           7     8       7  any
    MethodParameters:
         Name  Flags
      message  final

  public boolean matches(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.jasypt.digest.PooledStringDigester this
        start local 1 // java.lang.String message
        start local 2 // java.lang.String digest
         0: .line 680
            aload 0 /* this */
            invokevirtual org.jasypt.digest.PooledStringDigester.isInitialized:()Z
            ifne 2
         1: .line 681
            aload 0 /* this */
            invokevirtual org.jasypt.digest.PooledStringDigester.initialize:()V
         2: .line 685
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            astore 4
            monitorenter
         3: .line 686
            aload 0 /* this */
            getfield org.jasypt.digest.PooledStringDigester.roundRobin:I
            istore 3 /* poolPosition */
        start local 3 // int poolPosition
         4: .line 687
            aload 0 /* this */
            aload 0 /* this */
            getfield org.jasypt.digest.PooledStringDigester.roundRobin:I
            iconst_1
            iadd
            aload 0 /* this */
            getfield org.jasypt.digest.PooledStringDigester.poolSize:I
            irem
            putfield org.jasypt.digest.PooledStringDigester.roundRobin:I
         5: .line 685
            aload 4
            monitorexit
         6: goto 9
        end local 3 // int poolPosition
      StackMap locals: org.jasypt.digest.PooledStringDigester java.lang.String java.lang.String top org.jasypt.digest.PooledStringDigester
      StackMap stack: java.lang.Throwable
         7: aload 4
            monitorexit
         8: athrow
        start local 3 // int poolPosition
         9: .line 690
      StackMap locals: org.jasypt.digest.PooledStringDigester java.lang.String java.lang.String int
      StackMap stack:
            aload 0 /* this */
            getfield org.jasypt.digest.PooledStringDigester.pool:[Lorg/jasypt/digest/StandardStringDigester;
            iload 3 /* poolPosition */
            aaload
            aload 1 /* message */
            aload 2 /* digest */
            invokevirtual org.jasypt.digest.StandardStringDigester.matches:(Ljava/lang/String;Ljava/lang/String;)Z
            ireturn
        end local 3 // int poolPosition
        end local 2 // java.lang.String digest
        end local 1 // java.lang.String message
        end local 0 // org.jasypt.digest.PooledStringDigester this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Lorg/jasypt/digest/PooledStringDigester;
            0   10     1       message  Ljava/lang/String;
            0   10     2        digest  Ljava/lang/String;
            4    7     3  poolPosition  I
            9   10     3  poolPosition  I
      Exception table:
        from    to  target  type
           3     6       7  any
           7     8       7  any
    MethodParameters:
         Name  Flags
      message  final
      digest   final
}
SourceFile: "PooledStringDigester.java"