public class org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate implements org.apache.commons.collections.Predicate
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate
  super_class: java.lang.Object
{
  private final org.apache.commons.logging.Log log;
    descriptor: Lorg/apache/commons/logging/Log;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.lang.String propertyName;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Object propertyValue;
    descriptor: Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE

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

  public void <init>(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate this
        start local 1 // java.lang.String propertyName
        start local 2 // java.lang.Object propertyValue
         0: .line 151
            aload 0 /* this */
            aload 1 /* propertyName */
            aload 2 /* propertyValue */
            iconst_0
            invokespecial org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate.<init>:(Ljava/lang/String;Ljava/lang/Object;Z)V
         1: .line 152
            return
        end local 2 // java.lang.Object propertyValue
        end local 1 // java.lang.String propertyName
        end local 0 // org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/apache/commons/beanutils/BeanPropertyValueEqualsPredicate;
            0    2     1   propertyName  Ljava/lang/String;
            0    2     2  propertyValue  Ljava/lang/Object;
    MethodParameters:
               Name  Flags
      propertyName   final
      propertyValue  final

  public void <init>(java.lang.String, java.lang.Object, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate this
        start local 1 // java.lang.String propertyName
        start local 2 // java.lang.Object propertyValue
        start local 3 // boolean ignoreNull
         0: .line 166
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 114
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic org.apache.commons.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/commons/logging/Log;
            putfield org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate.log:Lorg/apache/commons/logging/Log;
         2: .line 168
            aload 1 /* propertyName */
            ifnull 7
            aload 1 /* propertyName */
            invokevirtual java.lang.String.length:()I
            ifle 7
         3: .line 169
            aload 0 /* this */
            aload 1 /* propertyName */
            putfield org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate.propertyName:Ljava/lang/String;
         4: .line 170
            aload 0 /* this */
            aload 2 /* propertyValue */
            putfield org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate.propertyValue:Ljava/lang/Object;
         5: .line 171
            aload 0 /* this */
            iload 3 /* ignoreNull */
            putfield org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate.ignoreNull:Z
         6: .line 172
            goto 8
         7: .line 173
      StackMap locals: org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate java.lang.String java.lang.Object int
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "propertyName cannot be null or empty"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 175
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean ignoreNull
        end local 2 // java.lang.Object propertyValue
        end local 1 // java.lang.String propertyName
        end local 0 // org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lorg/apache/commons/beanutils/BeanPropertyValueEqualsPredicate;
            0    9     1   propertyName  Ljava/lang/String;
            0    9     2  propertyValue  Ljava/lang/Object;
            0    9     3     ignoreNull  Z
    MethodParameters:
               Name  Flags
      propertyName   final
      propertyValue  final
      ignoreNull     final

  public boolean evaluate(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate this
        start local 1 // java.lang.Object object
         0: .line 197
            iconst_0
            istore 2 /* evaluation */
        start local 2 // boolean evaluation
         1: .line 200
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate.propertyValue:Ljava/lang/Object;
         2: .line 201
            aload 1 /* object */
            aload 0 /* this */
            getfield org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate.propertyName:Ljava/lang/String;
            invokestatic org.apache.commons.beanutils.PropertyUtils.getProperty:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
         3: .line 200
            invokevirtual org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate.evaluateValue:(Ljava/lang/Object;Ljava/lang/Object;)Z
            istore 2 /* evaluation */
         4: .line 202
            goto 28
      StackMap locals: org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate java.lang.Object int
      StackMap stack: java.lang.IllegalArgumentException
         5: astore 3 /* e */
        start local 3 // java.lang.IllegalArgumentException e
         6: .line 205
            aload 0 /* this */
            getfield org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate.ignoreNull:Z
            ifeq 9
         7: .line 206
            aload 0 /* this */
            getfield org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate.log:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "WARNING: Problem during evaluation. Null value encountered in property path..."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.apache.commons.logging.Log.warn:(Ljava/lang/Object;)V
         8: .line 207
            goto 28
         9: .line 208
      StackMap locals: java.lang.IllegalArgumentException
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Problem during evaluation. Null value encountered in property path..."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            astore 4 /* iae */
        start local 4 // java.lang.IllegalArgumentException iae
        10: .line 209
            aload 4 /* iae */
            aload 3 /* e */
            invokestatic org.apache.commons.beanutils.BeanUtils.initCause:(Ljava/lang/Throwable;Ljava/lang/Throwable;)Z
            ifne 12
        11: .line 210
            aload 0 /* this */
            getfield org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate.log:Lorg/apache/commons/logging/Log;
            ldc "Problem during evaluation. Null value encountered in property path..."
            aload 3 /* e */
            invokeinterface org.apache.commons.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        12: .line 212
      StackMap locals: java.lang.IllegalArgumentException
      StackMap stack:
            aload 4 /* iae */
            athrow
        end local 4 // java.lang.IllegalArgumentException iae
        end local 3 // java.lang.IllegalArgumentException e
        13: .line 214
      StackMap locals: org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate java.lang.Object int
      StackMap stack: java.lang.IllegalAccessException
            astore 3 /* e */
        start local 3 // java.lang.IllegalAccessException e
        14: .line 216
            new java.lang.IllegalArgumentException
            dup
            ldc "Unable to access the property provided."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            astore 4 /* iae */
        start local 4 // java.lang.IllegalArgumentException iae
        15: .line 217
            aload 4 /* iae */
            aload 3 /* e */
            invokestatic org.apache.commons.beanutils.BeanUtils.initCause:(Ljava/lang/Throwable;Ljava/lang/Throwable;)Z
            ifne 17
        16: .line 218
            aload 0 /* this */
            getfield org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate.log:Lorg/apache/commons/logging/Log;
            ldc "Unable to access the property provided."
            aload 3 /* e */
            invokeinterface org.apache.commons.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        17: .line 220
      StackMap locals: java.lang.IllegalAccessException java.lang.IllegalArgumentException
      StackMap stack:
            aload 4 /* iae */
            athrow
        end local 4 // java.lang.IllegalArgumentException iae
        end local 3 // java.lang.IllegalAccessException e
        18: .line 221
      StackMap locals: org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate java.lang.Object int
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 3 /* e */
        start local 3 // java.lang.reflect.InvocationTargetException e
        19: .line 223
            new java.lang.IllegalArgumentException
            dup
            ldc "Exception occurred in property's getter"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            astore 4 /* iae */
        start local 4 // java.lang.IllegalArgumentException iae
        20: .line 224
            aload 4 /* iae */
            aload 3 /* e */
            invokestatic org.apache.commons.beanutils.BeanUtils.initCause:(Ljava/lang/Throwable;Ljava/lang/Throwable;)Z
            ifne 22
        21: .line 225
            aload 0 /* this */
            getfield org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate.log:Lorg/apache/commons/logging/Log;
            ldc "Exception occurred in property's getter"
            aload 3 /* e */
            invokeinterface org.apache.commons.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        22: .line 227
      StackMap locals: java.lang.reflect.InvocationTargetException java.lang.IllegalArgumentException
      StackMap stack:
            aload 4 /* iae */
            athrow
        end local 4 // java.lang.IllegalArgumentException iae
        end local 3 // java.lang.reflect.InvocationTargetException e
        23: .line 228
      StackMap locals: org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate java.lang.Object int
      StackMap stack: java.lang.NoSuchMethodException
            astore 3 /* e */
        start local 3 // java.lang.NoSuchMethodException e
        24: .line 230
            new java.lang.IllegalArgumentException
            dup
            ldc "Property not found."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            astore 4 /* iae */
        start local 4 // java.lang.IllegalArgumentException iae
        25: .line 231
            aload 4 /* iae */
            aload 3 /* e */
            invokestatic org.apache.commons.beanutils.BeanUtils.initCause:(Ljava/lang/Throwable;Ljava/lang/Throwable;)Z
            ifne 27
        26: .line 232
            aload 0 /* this */
            getfield org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate.log:Lorg/apache/commons/logging/Log;
            ldc "Property not found."
            aload 3 /* e */
            invokeinterface org.apache.commons.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        27: .line 234
      StackMap locals: java.lang.NoSuchMethodException java.lang.IllegalArgumentException
      StackMap stack:
            aload 4 /* iae */
            athrow
        end local 4 // java.lang.IllegalArgumentException iae
        end local 3 // java.lang.NoSuchMethodException e
        28: .line 237
      StackMap locals:
      StackMap stack:
            iload 2 /* evaluation */
            ireturn
        end local 2 // boolean evaluation
        end local 1 // java.lang.Object object
        end local 0 // org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   29     0        this  Lorg/apache/commons/beanutils/BeanPropertyValueEqualsPredicate;
            0   29     1      object  Ljava/lang/Object;
            1   29     2  evaluation  Z
            6   13     3           e  Ljava/lang/IllegalArgumentException;
           10   13     4         iae  Ljava/lang/IllegalArgumentException;
           14   18     3           e  Ljava/lang/IllegalAccessException;
           15   18     4         iae  Ljava/lang/IllegalArgumentException;
           19   23     3           e  Ljava/lang/reflect/InvocationTargetException;
           20   23     4         iae  Ljava/lang/IllegalArgumentException;
           24   28     3           e  Ljava/lang/NoSuchMethodException;
           25   28     4         iae  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
           1     4       5  Class java.lang.IllegalArgumentException
           1     4      13  Class java.lang.IllegalAccessException
           1     4      18  Class java.lang.reflect.InvocationTargetException
           1     4      23  Class java.lang.NoSuchMethodException
    MethodParameters:
        Name  Flags
      object  final

  protected boolean evaluateValue(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate this
        start local 1 // java.lang.Object expected
        start local 2 // java.lang.Object actual
         0: .line 249
            aload 1 /* expected */
            aload 2 /* actual */
            if_acmpeq 2
            aload 1 /* expected */
            ifnull 1
            aload 1 /* expected */
            aload 2 /* actual */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_1
            ireturn
        end local 2 // java.lang.Object actual
        end local 1 // java.lang.Object expected
        end local 0 // org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/apache/commons/beanutils/BeanPropertyValueEqualsPredicate;
            0    3     1  expected  Ljava/lang/Object;
            0    3     2    actual  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      expected  final
      actual    final

  public java.lang.String getPropertyName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate this
         0: .line 260
            aload 0 /* this */
            getfield org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate.propertyName:Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/beanutils/BeanPropertyValueEqualsPredicate;

  public java.lang.Object getPropertyValue();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate this
         0: .line 271
            aload 0 /* this */
            getfield org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate.propertyValue:Ljava/lang/Object;
            areturn
        end local 0 // org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/beanutils/BeanPropertyValueEqualsPredicate;

  public boolean isIgnoreNull();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate this
         0: .line 288
            aload 0 /* this */
            getfield org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate.ignoreNull:Z
            ireturn
        end local 0 // org.apache.commons.beanutils.BeanPropertyValueEqualsPredicate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/beanutils/BeanPropertyValueEqualsPredicate;
}
SourceFile: "BeanPropertyValueEqualsPredicate.java"