public class org.apache.commons.beanutils.BeanPropertyValueChangeClosure implements org.apache.commons.collections.Closure
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.commons.beanutils.BeanPropertyValueChangeClosure
  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.BeanPropertyValueChangeClosure this
        start local 1 // java.lang.String propertyName
        start local 2 // java.lang.Object propertyValue
         0: .line 121
            aload 0 /* this */
            aload 1 /* propertyName */
            aload 2 /* propertyValue */
            iconst_0
            invokespecial org.apache.commons.beanutils.BeanPropertyValueChangeClosure.<init>:(Ljava/lang/String;Ljava/lang/Object;Z)V
         1: .line 122
            return
        end local 2 // java.lang.Object propertyValue
        end local 1 // java.lang.String propertyName
        end local 0 // org.apache.commons.beanutils.BeanPropertyValueChangeClosure this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/apache/commons/beanutils/BeanPropertyValueChangeClosure;
            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.BeanPropertyValueChangeClosure this
        start local 1 // java.lang.String propertyName
        start local 2 // java.lang.Object propertyValue
        start local 3 // boolean ignoreNull
         0: .line 138
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 85
            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.BeanPropertyValueChangeClosure.log:Lorg/apache/commons/logging/Log;
         2: .line 140
            aload 1 /* propertyName */
            ifnull 7
            aload 1 /* propertyName */
            invokevirtual java.lang.String.length:()I
            ifle 7
         3: .line 141
            aload 0 /* this */
            aload 1 /* propertyName */
            putfield org.apache.commons.beanutils.BeanPropertyValueChangeClosure.propertyName:Ljava/lang/String;
         4: .line 142
            aload 0 /* this */
            aload 2 /* propertyValue */
            putfield org.apache.commons.beanutils.BeanPropertyValueChangeClosure.propertyValue:Ljava/lang/Object;
         5: .line 143
            aload 0 /* this */
            iload 3 /* ignoreNull */
            putfield org.apache.commons.beanutils.BeanPropertyValueChangeClosure.ignoreNull:Z
         6: .line 144
            goto 8
         7: .line 145
      StackMap locals: org.apache.commons.beanutils.BeanPropertyValueChangeClosure 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 147
      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.BeanPropertyValueChangeClosure this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lorg/apache/commons/beanutils/BeanPropertyValueChangeClosure;
            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 void execute(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.apache.commons.beanutils.BeanPropertyValueChangeClosure this
        start local 1 // java.lang.Object object
         0: .line 166
            aload 1 /* object */
            aload 0 /* this */
            getfield org.apache.commons.beanutils.BeanPropertyValueChangeClosure.propertyName:Ljava/lang/String;
            aload 0 /* this */
            getfield org.apache.commons.beanutils.BeanPropertyValueChangeClosure.propertyValue:Ljava/lang/Object;
            invokestatic org.apache.commons.beanutils.PropertyUtils.setProperty:(Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 167
            goto 25
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
         2: astore 2 /* e */
        start local 2 // java.lang.IllegalArgumentException e
         3: .line 170
            aload 0 /* this */
            getfield org.apache.commons.beanutils.BeanPropertyValueChangeClosure.ignoreNull:Z
            ifeq 6
         4: .line 171
            aload 0 /* this */
            getfield org.apache.commons.beanutils.BeanPropertyValueChangeClosure.log:Lorg/apache/commons/logging/Log;
            new java.lang.StringBuilder
            dup
            ldc "WARNING: Unable to execute Closure. Null value encountered in property path..."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* 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
         5: .line 172
            goto 25
         6: .line 173
      StackMap locals: java.lang.IllegalArgumentException
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Unable to execute Closure. Null value encountered in property path..."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            astore 3 /* iae */
        start local 3 // java.lang.IllegalArgumentException iae
         7: .line 174
            aload 3 /* iae */
            aload 2 /* e */
            invokestatic org.apache.commons.beanutils.BeanUtils.initCause:(Ljava/lang/Throwable;Ljava/lang/Throwable;)Z
            ifne 9
         8: .line 175
            aload 0 /* this */
            getfield org.apache.commons.beanutils.BeanPropertyValueChangeClosure.log:Lorg/apache/commons/logging/Log;
            ldc "Unable to execute Closure. Null value encountered in property path..."
            aload 2 /* e */
            invokeinterface org.apache.commons.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
         9: .line 177
      StackMap locals: java.lang.IllegalArgumentException
      StackMap stack:
            aload 3 /* iae */
            athrow
        end local 3 // java.lang.IllegalArgumentException iae
        end local 2 // java.lang.IllegalArgumentException e
        10: .line 179
      StackMap locals: org.apache.commons.beanutils.BeanPropertyValueChangeClosure java.lang.Object
      StackMap stack: java.lang.IllegalAccessException
            astore 2 /* e */
        start local 2 // java.lang.IllegalAccessException e
        11: .line 181
            new java.lang.IllegalArgumentException
            dup
            ldc "Unable to access the property provided."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            astore 3 /* iae */
        start local 3 // java.lang.IllegalArgumentException iae
        12: .line 182
            aload 3 /* iae */
            aload 2 /* e */
            invokestatic org.apache.commons.beanutils.BeanUtils.initCause:(Ljava/lang/Throwable;Ljava/lang/Throwable;)Z
            ifne 14
        13: .line 183
            aload 0 /* this */
            getfield org.apache.commons.beanutils.BeanPropertyValueChangeClosure.log:Lorg/apache/commons/logging/Log;
            ldc "Unable to access the property provided."
            aload 2 /* e */
            invokeinterface org.apache.commons.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        14: .line 185
      StackMap locals: java.lang.IllegalAccessException java.lang.IllegalArgumentException
      StackMap stack:
            aload 3 /* iae */
            athrow
        end local 3 // java.lang.IllegalArgumentException iae
        end local 2 // java.lang.IllegalAccessException e
        15: .line 186
      StackMap locals: org.apache.commons.beanutils.BeanPropertyValueChangeClosure java.lang.Object
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 2 /* e */
        start local 2 // java.lang.reflect.InvocationTargetException e
        16: .line 188
            new java.lang.IllegalArgumentException
            dup
            ldc "Exception occurred in property's getter"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            astore 3 /* iae */
        start local 3 // java.lang.IllegalArgumentException iae
        17: .line 189
            aload 3 /* iae */
            aload 2 /* e */
            invokestatic org.apache.commons.beanutils.BeanUtils.initCause:(Ljava/lang/Throwable;Ljava/lang/Throwable;)Z
            ifne 19
        18: .line 190
            aload 0 /* this */
            getfield org.apache.commons.beanutils.BeanPropertyValueChangeClosure.log:Lorg/apache/commons/logging/Log;
            ldc "Exception occurred in property's getter"
            aload 2 /* e */
            invokeinterface org.apache.commons.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        19: .line 192
      StackMap locals: java.lang.reflect.InvocationTargetException java.lang.IllegalArgumentException
      StackMap stack:
            aload 3 /* iae */
            athrow
        end local 3 // java.lang.IllegalArgumentException iae
        end local 2 // java.lang.reflect.InvocationTargetException e
        20: .line 193
      StackMap locals: org.apache.commons.beanutils.BeanPropertyValueChangeClosure java.lang.Object
      StackMap stack: java.lang.NoSuchMethodException
            astore 2 /* e */
        start local 2 // java.lang.NoSuchMethodException e
        21: .line 195
            new java.lang.IllegalArgumentException
            dup
            ldc "Property not found"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            astore 3 /* iae */
        start local 3 // java.lang.IllegalArgumentException iae
        22: .line 196
            aload 3 /* iae */
            aload 2 /* e */
            invokestatic org.apache.commons.beanutils.BeanUtils.initCause:(Ljava/lang/Throwable;Ljava/lang/Throwable;)Z
            ifne 24
        23: .line 197
            aload 0 /* this */
            getfield org.apache.commons.beanutils.BeanPropertyValueChangeClosure.log:Lorg/apache/commons/logging/Log;
            ldc "Property not found"
            aload 2 /* e */
            invokeinterface org.apache.commons.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        24: .line 199
      StackMap locals: java.lang.NoSuchMethodException java.lang.IllegalArgumentException
      StackMap stack:
            aload 3 /* iae */
            athrow
        end local 3 // java.lang.IllegalArgumentException iae
        end local 2 // java.lang.NoSuchMethodException e
        25: .line 201
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Object object
        end local 0 // org.apache.commons.beanutils.BeanPropertyValueChangeClosure this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   26     0    this  Lorg/apache/commons/beanutils/BeanPropertyValueChangeClosure;
            0   26     1  object  Ljava/lang/Object;
            3   10     2       e  Ljava/lang/IllegalArgumentException;
            7   10     3     iae  Ljava/lang/IllegalArgumentException;
           11   15     2       e  Ljava/lang/IllegalAccessException;
           12   15     3     iae  Ljava/lang/IllegalArgumentException;
           16   20     2       e  Ljava/lang/reflect/InvocationTargetException;
           17   20     3     iae  Ljava/lang/IllegalArgumentException;
           21   25     2       e  Ljava/lang/NoSuchMethodException;
           22   25     3     iae  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalArgumentException
           0     1      10  Class java.lang.IllegalAccessException
           0     1      15  Class java.lang.reflect.InvocationTargetException
           0     1      20  Class java.lang.NoSuchMethodException
    MethodParameters:
        Name  Flags
      object  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.BeanPropertyValueChangeClosure this
         0: .line 209
            aload 0 /* this */
            getfield org.apache.commons.beanutils.BeanPropertyValueChangeClosure.propertyName:Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.beanutils.BeanPropertyValueChangeClosure this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/beanutils/BeanPropertyValueChangeClosure;

  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.BeanPropertyValueChangeClosure this
         0: .line 220
            aload 0 /* this */
            getfield org.apache.commons.beanutils.BeanPropertyValueChangeClosure.propertyValue:Ljava/lang/Object;
            areturn
        end local 0 // org.apache.commons.beanutils.BeanPropertyValueChangeClosure this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/beanutils/BeanPropertyValueChangeClosure;

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