class lombok.core.FieldAugment$ReflectionFieldAugment<T, F> extends lombok.core.FieldAugment<T, F>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: lombok.core.FieldAugment$ReflectionFieldAugment
  super_class: lombok.core.FieldAugment
{
  private final java.lang.Object lock;
    descriptor: Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.reflect.Field field;
    descriptor: Ljava/lang/reflect/Field;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.Class<F> targetType;
    descriptor: Ljava/lang/Class;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/lang/Class<TF;>;

  private final F defaultValue;
    descriptor: Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: TF;

  void <init>(java.lang.reflect.Field, java.lang.Class<? super F>, );
    descriptor: (Ljava/lang/reflect/Field;Ljava/lang/Class;Ljava/lang/Object;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // lombok.core.FieldAugment$ReflectionFieldAugment this
        start local 1 // java.lang.reflect.Field field
        start local 2 // java.lang.Class targetType
        start local 3 // java.lang.Object defaultValue
         0: .line 185
            aload 0 /* this */
            invokespecial lombok.core.FieldAugment.<init>:()V
         1: .line 179
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield lombok.core.FieldAugment$ReflectionFieldAugment.lock:Ljava/lang/Object;
         2: .line 186
            aload 0 /* this */
            aload 1 /* field */
            putfield lombok.core.FieldAugment$ReflectionFieldAugment.field:Ljava/lang/reflect/Field;
         3: .line 187
            aload 0 /* this */
            aload 2 /* targetType */
            putfield lombok.core.FieldAugment$ReflectionFieldAugment.targetType:Ljava/lang/Class;
         4: .line 188
            aload 0 /* this */
            aload 3 /* defaultValue */
            putfield lombok.core.FieldAugment$ReflectionFieldAugment.defaultValue:Ljava/lang/Object;
         5: .line 189
            return
        end local 3 // java.lang.Object defaultValue
        end local 2 // java.lang.Class targetType
        end local 1 // java.lang.reflect.Field field
        end local 0 // lombok.core.FieldAugment$ReflectionFieldAugment this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Llombok/core/FieldAugment$ReflectionFieldAugment<TT;TF;>;
            0    6     1         field  Ljava/lang/reflect/Field;
            0    6     2    targetType  Ljava/lang/Class<-TF;>;
            0    6     3  defaultValue  TF;
    Signature: (Ljava/lang/reflect/Field;Ljava/lang/Class<-TF;>;TF;)V
    MethodParameters:
              Name  Flags
      field         
      targetType    
      defaultValue  

  public F get();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // lombok.core.FieldAugment$ReflectionFieldAugment this
        start local 1 // java.lang.Object object
         0: .line 192
            aload 1 /* object */
            ldc "object"
            invokestatic lombok.core.FieldAugment.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 195
            aload 0 /* this */
            getfield lombok.core.FieldAugment$ReflectionFieldAugment.lock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         2: .line 196
            aload 0 /* this */
            getfield lombok.core.FieldAugment$ReflectionFieldAugment.targetType:Ljava/lang/Class;
            aload 0 /* this */
            getfield lombok.core.FieldAugment$ReflectionFieldAugment.field:Ljava/lang/reflect/Field;
            aload 1 /* object */
            invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* value */
        start local 2 // java.lang.Object value
         3: .line 195
            aload 3
            monitorexit
         4: goto 7
        end local 2 // java.lang.Object value
      StackMap locals: lombok.core.FieldAugment$ReflectionFieldAugment java.lang.Object top java.lang.Object
      StackMap stack: java.lang.Throwable
         5: aload 3
            monitorexit
         6: athrow
        start local 2 // java.lang.Object value
         7: .line 198
      StackMap locals: lombok.core.FieldAugment$ReflectionFieldAugment java.lang.Object java.lang.Object
      StackMap stack:
            aload 2 /* value */
            ifnonnull 8
            aload 0 /* this */
            getfield lombok.core.FieldAugment$ReflectionFieldAugment.defaultValue:Ljava/lang/Object;
            goto 9
      StackMap locals:
      StackMap stack:
         8: aload 2 /* value */
      StackMap locals:
      StackMap stack: java.lang.Object
         9: areturn
        end local 2 // java.lang.Object value
        10: .line 199
      StackMap locals: lombok.core.FieldAugment$ReflectionFieldAugment java.lang.Object
      StackMap stack: java.lang.IllegalAccessException
            astore 2 /* e */
        start local 2 // java.lang.IllegalAccessException e
        11: .line 200
            new java.lang.IllegalStateException
            dup
            aload 2 /* e */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.IllegalAccessException e
        end local 1 // java.lang.Object object
        end local 0 // lombok.core.FieldAugment$ReflectionFieldAugment this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Llombok/core/FieldAugment$ReflectionFieldAugment<TT;TF;>;
            0   12     1  object  TT;
            3    5     2   value  TF;
            7   10     2   value  TF;
           11   12     2       e  Ljava/lang/IllegalAccessException;
      Exception table:
        from    to  target  type
           2     4       5  any
           5     6       5  any
           1     9      10  Class java.lang.IllegalAccessException
    Signature: (TT;)TF;
    MethodParameters:
        Name  Flags
      object  

  public F getAndSet(T, );
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // lombok.core.FieldAugment$ReflectionFieldAugment this
        start local 1 // java.lang.Object object
        start local 2 // java.lang.Object value
         0: .line 205
            aload 1 /* object */
            ldc "object"
            invokestatic lombok.core.FieldAugment.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 206
            aload 2 /* value */
            ldc "value"
            invokestatic lombok.core.FieldAugment.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         2: .line 209
            aload 0 /* this */
            getfield lombok.core.FieldAugment$ReflectionFieldAugment.lock:Ljava/lang/Object;
            dup
            astore 4
            monitorenter
         3: .line 210
            aload 0 /* this */
            getfield lombok.core.FieldAugment$ReflectionFieldAugment.targetType:Ljava/lang/Class;
            aload 0 /* this */
            getfield lombok.core.FieldAugment$ReflectionFieldAugment.field:Ljava/lang/reflect/Field;
            aload 1 /* object */
            invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* oldValue */
        start local 3 // java.lang.Object oldValue
         4: .line 211
            aload 0 /* this */
            getfield lombok.core.FieldAugment$ReflectionFieldAugment.field:Ljava/lang/reflect/Field;
            aload 1 /* object */
            aload 2 /* value */
            invokevirtual java.lang.reflect.Field.set:(Ljava/lang/Object;Ljava/lang/Object;)V
         5: .line 209
            aload 4
            monitorexit
         6: goto 9
        end local 3 // java.lang.Object oldValue
      StackMap locals: lombok.core.FieldAugment$ReflectionFieldAugment java.lang.Object java.lang.Object top java.lang.Object
      StackMap stack: java.lang.Throwable
         7: aload 4
            monitorexit
         8: athrow
        start local 3 // java.lang.Object oldValue
         9: .line 213
      StackMap locals: lombok.core.FieldAugment$ReflectionFieldAugment java.lang.Object java.lang.Object java.lang.Object
      StackMap stack:
            aload 3 /* oldValue */
            ifnonnull 10
            aload 0 /* this */
            getfield lombok.core.FieldAugment$ReflectionFieldAugment.defaultValue:Ljava/lang/Object;
            goto 11
      StackMap locals:
      StackMap stack:
        10: aload 3 /* oldValue */
      StackMap locals:
      StackMap stack: java.lang.Object
        11: areturn
        end local 3 // java.lang.Object oldValue
        12: .line 214
      StackMap locals: lombok.core.FieldAugment$ReflectionFieldAugment java.lang.Object java.lang.Object
      StackMap stack: java.lang.IllegalAccessException
            astore 3 /* e */
        start local 3 // java.lang.IllegalAccessException e
        13: .line 215
            new java.lang.IllegalStateException
            dup
            aload 3 /* e */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.IllegalAccessException e
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Object object
        end local 0 // lombok.core.FieldAugment$ReflectionFieldAugment this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Llombok/core/FieldAugment$ReflectionFieldAugment<TT;TF;>;
            0   14     1    object  TT;
            0   14     2     value  TF;
            4    7     3  oldValue  TF;
            9   12     3  oldValue  TF;
           13   14     3         e  Ljava/lang/IllegalAccessException;
      Exception table:
        from    to  target  type
           3     6       7  any
           7     8       7  any
           2    11      12  Class java.lang.IllegalAccessException
    Signature: (TT;TF;)TF;
    MethodParameters:
        Name  Flags
      object  
      value   

  public F clear();
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // lombok.core.FieldAugment$ReflectionFieldAugment this
        start local 1 // java.lang.Object object
         0: .line 220
            aload 1 /* object */
            ldc "object"
            invokestatic lombok.core.FieldAugment.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 223
            aload 0 /* this */
            getfield lombok.core.FieldAugment$ReflectionFieldAugment.lock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         2: .line 224
            aload 0 /* this */
            getfield lombok.core.FieldAugment$ReflectionFieldAugment.targetType:Ljava/lang/Class;
            aload 0 /* this */
            getfield lombok.core.FieldAugment$ReflectionFieldAugment.field:Ljava/lang/reflect/Field;
            aload 1 /* object */
            invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* oldValue */
        start local 2 // java.lang.Object oldValue
         3: .line 225
            aload 0 /* this */
            getfield lombok.core.FieldAugment$ReflectionFieldAugment.field:Ljava/lang/reflect/Field;
            aload 1 /* object */
            aload 0 /* this */
            getfield lombok.core.FieldAugment$ReflectionFieldAugment.defaultValue:Ljava/lang/Object;
            invokevirtual java.lang.reflect.Field.set:(Ljava/lang/Object;Ljava/lang/Object;)V
         4: .line 223
            aload 3
            monitorexit
         5: goto 8
        end local 2 // java.lang.Object oldValue
      StackMap locals: lombok.core.FieldAugment$ReflectionFieldAugment java.lang.Object top java.lang.Object
      StackMap stack: java.lang.Throwable
         6: aload 3
            monitorexit
         7: athrow
        start local 2 // java.lang.Object oldValue
         8: .line 227
      StackMap locals: lombok.core.FieldAugment$ReflectionFieldAugment java.lang.Object java.lang.Object
      StackMap stack:
            aload 2 /* oldValue */
            ifnonnull 9
            aload 0 /* this */
            getfield lombok.core.FieldAugment$ReflectionFieldAugment.defaultValue:Ljava/lang/Object;
            goto 10
      StackMap locals:
      StackMap stack:
         9: aload 2 /* oldValue */
      StackMap locals:
      StackMap stack: java.lang.Object
        10: areturn
        end local 2 // java.lang.Object oldValue
        11: .line 228
      StackMap locals: lombok.core.FieldAugment$ReflectionFieldAugment java.lang.Object
      StackMap stack: java.lang.IllegalAccessException
            astore 2 /* e */
        start local 2 // java.lang.IllegalAccessException e
        12: .line 229
            new java.lang.IllegalStateException
            dup
            aload 2 /* e */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.IllegalAccessException e
        end local 1 // java.lang.Object object
        end local 0 // lombok.core.FieldAugment$ReflectionFieldAugment this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Llombok/core/FieldAugment$ReflectionFieldAugment<TT;TF;>;
            0   13     1    object  TT;
            3    6     2  oldValue  TF;
            8   11     2  oldValue  TF;
           12   13     2         e  Ljava/lang/IllegalAccessException;
      Exception table:
        from    to  target  type
           2     5       6  any
           6     7       6  any
           1    10      11  Class java.lang.IllegalAccessException
    Signature: (TT;)TF;
    MethodParameters:
        Name  Flags
      object  

  public F compareAndClear(T, );
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // lombok.core.FieldAugment$ReflectionFieldAugment this
        start local 1 // java.lang.Object object
        start local 2 // java.lang.Object expected
         0: .line 234
            aload 1 /* object */
            ldc "object"
            invokestatic lombok.core.FieldAugment.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 235
            aload 2 /* expected */
            ldc "expected"
            invokestatic lombok.core.FieldAugment.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         2: .line 238
            aload 0 /* this */
            getfield lombok.core.FieldAugment$ReflectionFieldAugment.lock:Ljava/lang/Object;
            dup
            astore 4
            monitorenter
         3: .line 239
            aload 0 /* this */
            getfield lombok.core.FieldAugment$ReflectionFieldAugment.targetType:Ljava/lang/Class;
            aload 0 /* this */
            getfield lombok.core.FieldAugment$ReflectionFieldAugment.field:Ljava/lang/reflect/Field;
            aload 1 /* object */
            invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* oldValue */
        start local 3 // java.lang.Object oldValue
         4: .line 240
            aload 2 /* expected */
            aload 3 /* oldValue */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 8
         5: .line 241
            aload 0 /* this */
            getfield lombok.core.FieldAugment$ReflectionFieldAugment.field:Ljava/lang/reflect/Field;
            aload 1 /* object */
            aload 0 /* this */
            getfield lombok.core.FieldAugment$ReflectionFieldAugment.defaultValue:Ljava/lang/Object;
            invokevirtual java.lang.reflect.Field.set:(Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 242
            aload 0 /* this */
            getfield lombok.core.FieldAugment$ReflectionFieldAugment.defaultValue:Ljava/lang/Object;
            aload 4
            monitorexit
         7: areturn
         8: .line 238
      StackMap locals: java.lang.Object java.lang.Object
      StackMap stack:
            aload 4
            monitorexit
         9: goto 12
        end local 3 // java.lang.Object oldValue
      StackMap locals: lombok.core.FieldAugment$ReflectionFieldAugment java.lang.Object java.lang.Object top java.lang.Object
      StackMap stack: java.lang.Throwable
        10: aload 4
            monitorexit
        11: athrow
        start local 3 // java.lang.Object oldValue
        12: .line 245
      StackMap locals: lombok.core.FieldAugment$ReflectionFieldAugment java.lang.Object java.lang.Object java.lang.Object
      StackMap stack:
            aload 3 /* oldValue */
        13: areturn
        end local 3 // java.lang.Object oldValue
        14: .line 246
      StackMap locals: lombok.core.FieldAugment$ReflectionFieldAugment java.lang.Object java.lang.Object
      StackMap stack: java.lang.IllegalAccessException
            astore 3 /* e */
        start local 3 // java.lang.IllegalAccessException e
        15: .line 247
            new java.lang.IllegalStateException
            dup
            aload 3 /* e */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.IllegalAccessException e
        end local 2 // java.lang.Object expected
        end local 1 // java.lang.Object object
        end local 0 // lombok.core.FieldAugment$ReflectionFieldAugment this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Llombok/core/FieldAugment$ReflectionFieldAugment<TT;TF;>;
            0   16     1    object  TT;
            0   16     2  expected  TF;
            4   10     3  oldValue  TF;
           12   14     3  oldValue  TF;
           15   16     3         e  Ljava/lang/IllegalAccessException;
      Exception table:
        from    to  target  type
           3     7      10  any
           8     9      10  any
          10    11      10  any
           2     7      14  Class java.lang.IllegalAccessException
           8    13      14  Class java.lang.IllegalAccessException
    Signature: (TT;TF;)TF;
    MethodParameters:
          Name  Flags
      object    
      expected  

  public F setIfAbsent(T, );
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // lombok.core.FieldAugment$ReflectionFieldAugment this
        start local 1 // java.lang.Object object
        start local 2 // java.lang.Object value
         0: .line 252
            aload 1 /* object */
            ldc "object"
            invokestatic lombok.core.FieldAugment.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 253
            aload 2 /* value */
            ldc "value"
            invokestatic lombok.core.FieldAugment.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         2: .line 255
            aload 0 /* this */
            getfield lombok.core.FieldAugment$ReflectionFieldAugment.lock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         3: .line 256
            aload 0 /* this */
            getfield lombok.core.FieldAugment$ReflectionFieldAugment.targetType:Ljava/lang/Class;
            aload 0 /* this */
            getfield lombok.core.FieldAugment$ReflectionFieldAugment.field:Ljava/lang/reflect/Field;
            aload 1 /* object */
            invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* oldValue */
        start local 4 // java.lang.Object oldValue
         4: .line 257
            aload 4 /* oldValue */
            ifnull 6
            aload 4 /* oldValue */
            aload 0 /* this */
            getfield lombok.core.FieldAugment$ReflectionFieldAugment.defaultValue:Ljava/lang/Object;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 6
            aload 4 /* oldValue */
            aload 3
            monitorexit
         5: areturn
         6: .line 258
      StackMap locals: java.lang.Object java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield lombok.core.FieldAugment$ReflectionFieldAugment.field:Ljava/lang/reflect/Field;
            aload 1 /* object */
            aload 2 /* value */
            invokevirtual java.lang.reflect.Field.set:(Ljava/lang/Object;Ljava/lang/Object;)V
         7: .line 259
            aload 2 /* value */
            aload 3
            monitorexit
         8: areturn
        end local 4 // java.lang.Object oldValue
         9: .line 255
      StackMap locals: lombok.core.FieldAugment$ReflectionFieldAugment java.lang.Object java.lang.Object java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
        10: athrow
        11: .line 261
      StackMap locals: lombok.core.FieldAugment$ReflectionFieldAugment java.lang.Object java.lang.Object
      StackMap stack: java.lang.IllegalAccessException
            astore 3 /* e */
        start local 3 // java.lang.IllegalAccessException e
        12: .line 262
            new java.lang.IllegalStateException
            dup
            aload 3 /* e */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.IllegalAccessException e
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Object object
        end local 0 // lombok.core.FieldAugment$ReflectionFieldAugment this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Llombok/core/FieldAugment$ReflectionFieldAugment<TT;TF;>;
            0   13     1    object  TT;
            0   13     2     value  TF;
            4    9     4  oldValue  TF;
           12   13     3         e  Ljava/lang/IllegalAccessException;
      Exception table:
        from    to  target  type
           3     5       9  any
           6     8       9  any
           9    10       9  any
           2     5      11  Class java.lang.IllegalAccessException
           6     8      11  Class java.lang.IllegalAccessException
           9    11      11  Class java.lang.IllegalAccessException
    Signature: (TT;TF;)TF;
    MethodParameters:
        Name  Flags
      object  
      value   

  public F compareAndSet(T, F, );
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // lombok.core.FieldAugment$ReflectionFieldAugment this
        start local 1 // java.lang.Object object
        start local 2 // java.lang.Object expected
        start local 3 // java.lang.Object value
         0: .line 267
            aload 1 /* object */
            ldc "object"
            invokestatic lombok.core.FieldAugment.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         1: .line 268
            aload 2 /* expected */
            ldc "expected"
            invokestatic lombok.core.FieldAugment.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         2: .line 269
            aload 3 /* value */
            ldc "value"
            invokestatic lombok.core.FieldAugment.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            pop
         3: .line 271
            aload 0 /* this */
            getfield lombok.core.FieldAugment$ReflectionFieldAugment.lock:Ljava/lang/Object;
            dup
            astore 4
            monitorenter
         4: .line 272
            aload 0 /* this */
            getfield lombok.core.FieldAugment$ReflectionFieldAugment.targetType:Ljava/lang/Class;
            aload 0 /* this */
            getfield lombok.core.FieldAugment$ReflectionFieldAugment.field:Ljava/lang/reflect/Field;
            aload 1 /* object */
            invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* oldValue */
        start local 5 // java.lang.Object oldValue
         5: .line 273
            aload 2 /* expected */
            aload 5 /* oldValue */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 9
            aload 5 /* oldValue */
            ifnonnull 6
            aload 0 /* this */
            getfield lombok.core.FieldAugment$ReflectionFieldAugment.defaultValue:Ljava/lang/Object;
            goto 7
      StackMap locals: java.lang.Object java.lang.Object
      StackMap stack:
         6: aload 5 /* oldValue */
      StackMap locals:
      StackMap stack: java.lang.Object
         7: aload 4
            monitorexit
         8: areturn
         9: .line 274
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield lombok.core.FieldAugment$ReflectionFieldAugment.field:Ljava/lang/reflect/Field;
            aload 1 /* object */
            aload 3 /* value */
            invokevirtual java.lang.reflect.Field.set:(Ljava/lang/Object;Ljava/lang/Object;)V
        10: .line 275
            aload 3 /* value */
            aload 4
            monitorexit
        11: areturn
        end local 5 // java.lang.Object oldValue
        12: .line 271
      StackMap locals: lombok.core.FieldAugment$ReflectionFieldAugment java.lang.Object java.lang.Object java.lang.Object java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 4
            monitorexit
        13: athrow
        14: .line 277
      StackMap locals: lombok.core.FieldAugment$ReflectionFieldAugment java.lang.Object java.lang.Object java.lang.Object
      StackMap stack: java.lang.IllegalAccessException
            astore 4 /* e */
        start local 4 // java.lang.IllegalAccessException e
        15: .line 278
            new java.lang.IllegalStateException
            dup
            aload 4 /* e */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.IllegalAccessException e
        end local 3 // java.lang.Object value
        end local 2 // java.lang.Object expected
        end local 1 // java.lang.Object object
        end local 0 // lombok.core.FieldAugment$ReflectionFieldAugment this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Llombok/core/FieldAugment$ReflectionFieldAugment<TT;TF;>;
            0   16     1    object  TT;
            0   16     2  expected  TF;
            0   16     3     value  TF;
            5   12     5  oldValue  TF;
           15   16     4         e  Ljava/lang/IllegalAccessException;
      Exception table:
        from    to  target  type
           4     8      12  any
           9    11      12  any
          12    13      12  any
           3     8      14  Class java.lang.IllegalAccessException
           9    11      14  Class java.lang.IllegalAccessException
          12    14      14  Class java.lang.IllegalAccessException
    Signature: (TT;TF;TF;)TF;
    MethodParameters:
          Name  Flags
      object    
      expected  
      value     
}
Signature: <T:Ljava/lang/Object;F:Ljava/lang/Object;>Llombok/core/FieldAugment<TT;TF;>;
SourceFile: "FieldAugment.java"
NestHost: lombok.core.FieldAugment
InnerClasses:
  private ReflectionFieldAugment = lombok.core.FieldAugment$ReflectionFieldAugment of lombok.core.FieldAugment