public class org.apache.commons.collections.BeanMap extends java.util.AbstractMap implements java.lang.Cloneable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.commons.collections.BeanMap
  super_class: java.util.AbstractMap
{
  private transient java.lang.Object bean;
    descriptor: Ljava/lang/Object;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient java.util.HashMap readMethods;
    descriptor: Ljava/util/HashMap;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient java.util.HashMap writeMethods;
    descriptor: Ljava/util/HashMap;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  private transient java.util.HashMap types;
    descriptor: Ljava/util/HashMap;
    flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT

  public static final java.lang.Object[] NULL_ARGUMENTS;
    descriptor: [Ljava/lang/Object;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static java.util.HashMap defaultTransformers;
    descriptor: Ljava/util/HashMap;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 66
            iconst_0
            anewarray java.lang.Object
            putstatic org.apache.commons.collections.BeanMap.NULL_ARGUMENTS:[Ljava/lang/Object;
         1: .line 72
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic org.apache.commons.collections.BeanMap.defaultTransformers:Ljava/util/HashMap;
         2: .line 75
            getstatic org.apache.commons.collections.BeanMap.defaultTransformers:Ljava/util/HashMap;
         3: .line 76
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
         4: .line 77
            new org.apache.commons.collections.BeanMap$1
            dup
            invokespecial org.apache.commons.collections.BeanMap$1.<init>:()V
         5: .line 75
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 83
            getstatic org.apache.commons.collections.BeanMap.defaultTransformers:Ljava/util/HashMap;
         7: .line 84
            getstatic java.lang.Character.TYPE:Ljava/lang/Class;
         8: .line 85
            new org.apache.commons.collections.BeanMap$2
            dup
            invokespecial org.apache.commons.collections.BeanMap$2.<init>:()V
         9: .line 83
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 91
            getstatic org.apache.commons.collections.BeanMap.defaultTransformers:Ljava/util/HashMap;
        11: .line 92
            getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
        12: .line 93
            new org.apache.commons.collections.BeanMap$3
            dup
            invokespecial org.apache.commons.collections.BeanMap$3.<init>:()V
        13: .line 91
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 99
            getstatic org.apache.commons.collections.BeanMap.defaultTransformers:Ljava/util/HashMap;
        15: .line 100
            getstatic java.lang.Short.TYPE:Ljava/lang/Class;
        16: .line 101
            new org.apache.commons.collections.BeanMap$4
            dup
            invokespecial org.apache.commons.collections.BeanMap$4.<init>:()V
        17: .line 99
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 107
            getstatic org.apache.commons.collections.BeanMap.defaultTransformers:Ljava/util/HashMap;
        19: .line 108
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
        20: .line 109
            new org.apache.commons.collections.BeanMap$5
            dup
            invokespecial org.apache.commons.collections.BeanMap$5.<init>:()V
        21: .line 107
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        22: .line 115
            getstatic org.apache.commons.collections.BeanMap.defaultTransformers:Ljava/util/HashMap;
        23: .line 116
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
        24: .line 117
            new org.apache.commons.collections.BeanMap$6
            dup
            invokespecial org.apache.commons.collections.BeanMap$6.<init>:()V
        25: .line 115
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        26: .line 123
            getstatic org.apache.commons.collections.BeanMap.defaultTransformers:Ljava/util/HashMap;
        27: .line 124
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
        28: .line 125
            new org.apache.commons.collections.BeanMap$7
            dup
            invokespecial org.apache.commons.collections.BeanMap$7.<init>:()V
        29: .line 123
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        30: .line 131
            getstatic org.apache.commons.collections.BeanMap.defaultTransformers:Ljava/util/HashMap;
        31: .line 132
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
        32: .line 133
            new org.apache.commons.collections.BeanMap$8
            dup
            invokespecial org.apache.commons.collections.BeanMap$8.<init>:()V
        33: .line 131
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        34: .line 139
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.collections.BeanMap this
         0: .line 148
            aload 0 /* this */
            invokespecial java.util.AbstractMap.<init>:()V
         1: .line 59
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.commons.collections.BeanMap.readMethods:Ljava/util/HashMap;
         2: .line 60
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.commons.collections.BeanMap.writeMethods:Ljava/util/HashMap;
         3: .line 61
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.commons.collections.BeanMap.types:Ljava/util/HashMap;
         4: .line 149
            return
        end local 0 // org.apache.commons.collections.BeanMap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/commons/collections/BeanMap;

  public void <init>(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.commons.collections.BeanMap this
        start local 1 // java.lang.Object bean
         0: .line 158
            aload 0 /* this */
            invokespecial java.util.AbstractMap.<init>:()V
         1: .line 59
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.commons.collections.BeanMap.readMethods:Ljava/util/HashMap;
         2: .line 60
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.commons.collections.BeanMap.writeMethods:Ljava/util/HashMap;
         3: .line 61
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.apache.commons.collections.BeanMap.types:Ljava/util/HashMap;
         4: .line 159
            aload 0 /* this */
            aload 1 /* bean */
            putfield org.apache.commons.collections.BeanMap.bean:Ljava/lang/Object;
         5: .line 160
            aload 0 /* this */
            invokevirtual org.apache.commons.collections.BeanMap.initialise:()V
         6: .line 161
            return
        end local 1 // java.lang.Object bean
        end local 0 // org.apache.commons.collections.BeanMap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/apache/commons/collections/BeanMap;
            0    7     1  bean  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      bean  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.collections.BeanMap this
         0: .line 167
            new java.lang.StringBuilder
            dup
            ldc "BeanMap<"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.apache.commons.collections.BeanMap.bean:Ljava/lang/Object;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ">"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.apache.commons.collections.BeanMap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/collections/BeanMap;

  public java.lang.Object clone();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // org.apache.commons.collections.BeanMap this
         0: .line 194
            aload 0 /* this */
            invokespecial java.util.AbstractMap.clone:()Ljava/lang/Object;
            checkcast org.apache.commons.collections.BeanMap
            astore 1 /* newMap */
        start local 1 // org.apache.commons.collections.BeanMap newMap
         1: .line 196
            aload 0 /* this */
            getfield org.apache.commons.collections.BeanMap.bean:Ljava/lang/Object;
            ifnonnull 3
         2: .line 199
            aload 1 /* newMap */
            areturn
         3: .line 202
      StackMap locals: org.apache.commons.collections.BeanMap
      StackMap stack:
            aconst_null
            astore 2 /* newBean */
        start local 2 // java.lang.Object newBean
         4: .line 203
            aconst_null
            astore 3 /* beanClass */
        start local 3 // java.lang.Class beanClass
         5: .line 205
            aload 0 /* this */
            getfield org.apache.commons.collections.BeanMap.bean:Ljava/lang/Object;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 3 /* beanClass */
         6: .line 206
            aload 3 /* beanClass */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            astore 2 /* newBean */
         7: .line 207
            goto 14
      StackMap locals: org.apache.commons.collections.BeanMap org.apache.commons.collections.BeanMap java.lang.Object java.lang.Class
      StackMap stack: java.lang.Exception
         8: astore 4 /* e */
        start local 4 // java.lang.Exception e
         9: .line 209
            new java.lang.CloneNotSupportedException
            dup
        10: .line 210
            new java.lang.StringBuilder
            dup
            ldc "Unable to instantiate the underlying bean \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        11: .line 211
            aload 3 /* beanClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        12: .line 210
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 209
            invokespecial java.lang.CloneNotSupportedException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.Exception e
        14: .line 215
      StackMap locals:
      StackMap stack:
            aload 1 /* newMap */
            aload 2 /* newBean */
            invokevirtual org.apache.commons.collections.BeanMap.setBean:(Ljava/lang/Object;)V
        15: .line 216
            goto 22
      StackMap locals:
      StackMap stack: java.lang.Exception
        16: astore 4 /* exception */
        start local 4 // java.lang.Exception exception
        17: .line 217
            new java.lang.CloneNotSupportedException
            dup
        18: .line 218
            new java.lang.StringBuilder
            dup
            ldc "Unable to set bean in the cloned bean map: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        19: .line 219
            aload 4 /* exception */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        20: .line 218
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        21: .line 217
            invokespecial java.lang.CloneNotSupportedException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.Exception exception
        22: .line 226
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.collections.BeanMap.readMethods:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4 /* readableKeys */
        start local 4 // java.util.Iterator readableKeys
        23: .line 227
            goto 27
        24: .line 228
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 4 /* readableKeys */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 5 /* key */
        start local 5 // java.lang.Object key
        25: .line 229
            aload 0 /* this */
            aload 5 /* key */
            invokevirtual org.apache.commons.collections.BeanMap.getWriteMethod:(Ljava/lang/Object;)Ljava/lang/reflect/Method;
            ifnull 27
        26: .line 230
            aload 1 /* newMap */
            aload 5 /* key */
            aload 0 /* this */
            aload 5 /* key */
            invokevirtual org.apache.commons.collections.BeanMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual org.apache.commons.collections.BeanMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // java.lang.Object key
        27: .line 227
      StackMap locals:
      StackMap stack:
            aload 4 /* readableKeys */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 24
        end local 4 // java.util.Iterator readableKeys
        28: .line 233
            goto 35
      StackMap locals: org.apache.commons.collections.BeanMap org.apache.commons.collections.BeanMap java.lang.Object java.lang.Class
      StackMap stack: java.lang.Exception
        29: astore 4 /* exception */
        start local 4 // java.lang.Exception exception
        30: .line 234
            new java.lang.CloneNotSupportedException
            dup
        31: .line 235
            new java.lang.StringBuilder
            dup
            ldc "Unable to copy bean values to cloned bean map: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        32: .line 236
            aload 4 /* exception */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        33: .line 235
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        34: .line 234
            invokespecial java.lang.CloneNotSupportedException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.Exception exception
        35: .line 239
      StackMap locals:
      StackMap stack:
            aload 1 /* newMap */
            areturn
        end local 3 // java.lang.Class beanClass
        end local 2 // java.lang.Object newBean
        end local 1 // org.apache.commons.collections.BeanMap newMap
        end local 0 // org.apache.commons.collections.BeanMap this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   36     0          this  Lorg/apache/commons/collections/BeanMap;
            1   36     1        newMap  Lorg/apache/commons/collections/BeanMap;
            4   36     2       newBean  Ljava/lang/Object;
            5   36     3     beanClass  Ljava/lang/Class;
            9   14     4             e  Ljava/lang/Exception;
           17   22     4     exception  Ljava/lang/Exception;
           23   28     4  readableKeys  Ljava/util/Iterator;
           25   27     5           key  Ljava/lang/Object;
           30   35     4     exception  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           5     7       8  Class java.lang.Exception
          14    15      16  Class java.lang.Exception
          22    28      29  Class java.lang.Exception
    Exceptions:
      throws java.lang.CloneNotSupportedException

  public void putAllWriteable(org.apache.commons.collections.BeanMap);
    descriptor: (Lorg/apache/commons/collections/BeanMap;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.apache.commons.collections.BeanMap this
        start local 1 // org.apache.commons.collections.BeanMap map
         0: .line 249
            aload 1 /* map */
            getfield org.apache.commons.collections.BeanMap.readMethods:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2 /* readableKeys */
        start local 2 // java.util.Iterator readableKeys
         1: .line 250
            goto 5
         2: .line 251
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 2 /* readableKeys */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 3 /* key */
        start local 3 // java.lang.Object key
         3: .line 252
            aload 0 /* this */
            aload 3 /* key */
            invokevirtual org.apache.commons.collections.BeanMap.getWriteMethod:(Ljava/lang/Object;)Ljava/lang/reflect/Method;
            ifnull 5
         4: .line 253
            aload 0 /* this */
            aload 3 /* key */
            aload 1 /* map */
            aload 3 /* key */
            invokevirtual org.apache.commons.collections.BeanMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual org.apache.commons.collections.BeanMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 3 // java.lang.Object key
         5: .line 250
      StackMap locals:
      StackMap stack:
            aload 2 /* readableKeys */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 256
            return
        end local 2 // java.util.Iterator readableKeys
        end local 1 // org.apache.commons.collections.BeanMap map
        end local 0 // org.apache.commons.collections.BeanMap this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Lorg/apache/commons/collections/BeanMap;
            0    7     1           map  Lorg/apache/commons/collections/BeanMap;
            1    7     2  readableKeys  Ljava/util/Iterator;
            3    5     3           key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      map   

  public void clear();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.apache.commons.collections.BeanMap this
         0: .line 268
            aload 0 /* this */
            getfield org.apache.commons.collections.BeanMap.bean:Ljava/lang/Object;
            ifnonnull 1
            return
         1: .line 270
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 1 /* beanClass */
        start local 1 // java.lang.Class beanClass
         2: .line 272
            aload 0 /* this */
            getfield org.apache.commons.collections.BeanMap.bean:Ljava/lang/Object;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 1 /* beanClass */
         3: .line 273
            aload 0 /* this */
            aload 1 /* beanClass */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            putfield org.apache.commons.collections.BeanMap.bean:Ljava/lang/Object;
         4: .line 274
            goto 7
         5: .line 275
      StackMap locals: org.apache.commons.collections.BeanMap java.lang.Class
      StackMap stack: java.lang.Exception
            pop
         6: .line 276
            new java.lang.UnsupportedOperationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Could not create new instance of class: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* beanClass */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 278
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Class beanClass
        end local 0 // org.apache.commons.collections.BeanMap this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/apache/commons/collections/BeanMap;
            2    8     1  beanClass  Ljava/lang/Class;
      Exception table:
        from    to  target  type
           2     4       5  Class java.lang.Exception

  public boolean containsKey(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.apache.commons.collections.BeanMap this
        start local 1 // java.lang.Object name
         0: .line 296
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.apache.commons.collections.BeanMap.getReadMethod:(Ljava/lang/Object;)Ljava/lang/reflect/Method;
            astore 2 /* method */
        start local 2 // java.lang.reflect.Method method
         1: .line 297
            aload 2 /* method */
            ifnull 2
            iconst_1
            ireturn
      StackMap locals: java.lang.reflect.Method
      StackMap stack:
         2: iconst_0
            ireturn
        end local 2 // java.lang.reflect.Method method
        end local 1 // java.lang.Object name
        end local 0 // org.apache.commons.collections.BeanMap this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/apache/commons/collections/BeanMap;
            0    3     1    name  Ljava/lang/Object;
            1    3     2  method  Ljava/lang/reflect/Method;
    MethodParameters:
      Name  Flags
      name  

  public boolean containsValue(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.collections.BeanMap this
        start local 1 // java.lang.Object value
         0: .line 310
            aload 0 /* this */
            aload 1 /* value */
            invokespecial java.util.AbstractMap.containsValue:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object value
        end local 0 // org.apache.commons.collections.BeanMap this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/apache/commons/collections/BeanMap;
            0    1     1  value  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      value  

  public java.lang.Object get(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.apache.commons.collections.BeanMap this
        start local 1 // java.lang.Object name
         0: .line 329
            aload 0 /* this */
            getfield org.apache.commons.collections.BeanMap.bean:Ljava/lang/Object;
            ifnull 16
         1: .line 330
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.apache.commons.collections.BeanMap.getReadMethod:(Ljava/lang/Object;)Ljava/lang/reflect/Method;
            astore 2 /* method */
        start local 2 // java.lang.reflect.Method method
         2: .line 331
            aload 2 /* method */
            ifnull 16
         3: .line 333
            aload 2 /* method */
            aload 0 /* this */
            getfield org.apache.commons.collections.BeanMap.bean:Ljava/lang/Object;
            getstatic org.apache.commons.collections.BeanMap.NULL_ARGUMENTS:[Ljava/lang/Object;
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
         4: areturn
         5: .line 335
      StackMap locals: org.apache.commons.collections.BeanMap java.lang.Object java.lang.reflect.Method
      StackMap stack: java.lang.IllegalAccessException
            astore 3 /* e */
        start local 3 // java.lang.IllegalAccessException e
         6: .line 336
            aload 0 /* this */
            aload 3 /* e */
            invokevirtual org.apache.commons.collections.BeanMap.logWarn:(Ljava/lang/Exception;)V
        end local 3 // java.lang.IllegalAccessException e
         7: goto 16
         8: .line 338
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            astore 3 /* e */
        start local 3 // java.lang.IllegalArgumentException e
         9: .line 339
            aload 0 /* this */
            aload 3 /* e */
            invokevirtual org.apache.commons.collections.BeanMap.logWarn:(Ljava/lang/Exception;)V
        end local 3 // java.lang.IllegalArgumentException e
        10: goto 16
        11: .line 341
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 3 /* e */
        start local 3 // java.lang.reflect.InvocationTargetException e
        12: .line 342
            aload 0 /* this */
            aload 3 /* e */
            invokevirtual org.apache.commons.collections.BeanMap.logWarn:(Ljava/lang/Exception;)V
        end local 3 // java.lang.reflect.InvocationTargetException e
        13: goto 16
        14: .line 344
      StackMap locals:
      StackMap stack: java.lang.NullPointerException
            astore 3 /* e */
        start local 3 // java.lang.NullPointerException e
        15: .line 345
            aload 0 /* this */
            aload 3 /* e */
            invokevirtual org.apache.commons.collections.BeanMap.logWarn:(Ljava/lang/Exception;)V
        end local 3 // java.lang.NullPointerException e
        end local 2 // java.lang.reflect.Method method
        16: .line 349
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.Object name
        end local 0 // org.apache.commons.collections.BeanMap this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   17     0    this  Lorg/apache/commons/collections/BeanMap;
            0   17     1    name  Ljava/lang/Object;
            2   16     2  method  Ljava/lang/reflect/Method;
            6    7     3       e  Ljava/lang/IllegalAccessException;
            9   10     3       e  Ljava/lang/IllegalArgumentException;
           12   13     3       e  Ljava/lang/reflect/InvocationTargetException;
           15   16     3       e  Ljava/lang/NullPointerException;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.IllegalAccessException
           3     4       8  Class java.lang.IllegalArgumentException
           3     4      11  Class java.lang.reflect.InvocationTargetException
           3     4      14  Class java.lang.NullPointerException
    MethodParameters:
      Name  Flags
      name  

  public java.lang.Object put(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.apache.commons.collections.BeanMap this
        start local 1 // java.lang.Object name
        start local 2 // java.lang.Object value
         0: .line 364
            aload 0 /* this */
            getfield org.apache.commons.collections.BeanMap.bean:Ljava/lang/Object;
            ifnull 17
         1: .line 365
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.apache.commons.collections.BeanMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* oldValue */
        start local 3 // java.lang.Object oldValue
         2: .line 366
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.apache.commons.collections.BeanMap.getWriteMethod:(Ljava/lang/Object;)Ljava/lang/reflect/Method;
            astore 4 /* method */
        start local 4 // java.lang.reflect.Method method
         3: .line 367
            aload 4 /* method */
            ifnonnull 5
         4: .line 368
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "The bean of type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.apache.commons.collections.BeanMap.bean:Ljava/lang/Object;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " has no property called: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 371
      StackMap locals: java.lang.Object java.lang.reflect.Method
      StackMap stack:
            aload 0 /* this */
            aload 4 /* method */
            aload 2 /* value */
            invokevirtual org.apache.commons.collections.BeanMap.createWriteMethodArguments:(Ljava/lang/reflect/Method;Ljava/lang/Object;)[Ljava/lang/Object;
            astore 5 /* arguments */
        start local 5 // java.lang.Object[] arguments
         6: .line 372
            aload 4 /* method */
            aload 0 /* this */
            getfield org.apache.commons.collections.BeanMap.bean:Ljava/lang/Object;
            aload 5 /* arguments */
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 374
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual org.apache.commons.collections.BeanMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 6 /* newValue */
        start local 6 // java.lang.Object newValue
         8: .line 375
            aload 0 /* this */
            aload 1 /* name */
            aload 3 /* oldValue */
            aload 6 /* newValue */
            invokevirtual org.apache.commons.collections.BeanMap.firePropertyChange:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 6 // java.lang.Object newValue
        end local 5 // java.lang.Object[] arguments
         9: .line 376
            goto 16
        10: .line 377
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 5 /* e */
        start local 5 // java.lang.reflect.InvocationTargetException e
        11: .line 378
            aload 0 /* this */
            aload 5 /* e */
            invokevirtual org.apache.commons.collections.BeanMap.logInfo:(Ljava/lang/Exception;)V
        12: .line 379
            new java.lang.IllegalArgumentException
            dup
            aload 5 /* e */
            invokevirtual java.lang.reflect.InvocationTargetException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.reflect.InvocationTargetException e
        13: .line 381
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 5 /* e */
        start local 5 // java.lang.IllegalAccessException e
        14: .line 382
            aload 0 /* this */
            aload 5 /* e */
            invokevirtual org.apache.commons.collections.BeanMap.logInfo:(Ljava/lang/Exception;)V
        15: .line 383
            new java.lang.IllegalArgumentException
            dup
            aload 5 /* e */
            invokevirtual java.lang.IllegalAccessException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.IllegalAccessException e
        16: .line 385
      StackMap locals:
      StackMap stack:
            aload 3 /* oldValue */
            areturn
        end local 4 // java.lang.reflect.Method method
        end local 3 // java.lang.Object oldValue
        17: .line 387
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Object name
        end local 0 // org.apache.commons.collections.BeanMap this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   18     0       this  Lorg/apache/commons/collections/BeanMap;
            0   18     1       name  Ljava/lang/Object;
            0   18     2      value  Ljava/lang/Object;
            2   17     3   oldValue  Ljava/lang/Object;
            3   17     4     method  Ljava/lang/reflect/Method;
            6    9     5  arguments  [Ljava/lang/Object;
            8    9     6   newValue  Ljava/lang/Object;
           11   13     5          e  Ljava/lang/reflect/InvocationTargetException;
           14   16     5          e  Ljava/lang/IllegalAccessException;
      Exception table:
        from    to  target  type
           5     9      10  Class java.lang.reflect.InvocationTargetException
           5     9      13  Class java.lang.IllegalAccessException
    Exceptions:
      throws java.lang.IllegalArgumentException, java.lang.ClassCastException
    MethodParameters:
       Name  Flags
      name   
      value  

  public int size();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.collections.BeanMap this
         0: .line 396
            aload 0 /* this */
            getfield org.apache.commons.collections.BeanMap.readMethods:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.size:()I
            ireturn
        end local 0 // org.apache.commons.collections.BeanMap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/collections/BeanMap;

  public java.util.Set keySet();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.collections.BeanMap this
         0: .line 411
            aload 0 /* this */
            getfield org.apache.commons.collections.BeanMap.readMethods:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokestatic org.apache.commons.collections.set.UnmodifiableSet.decorate:(Ljava/util/Set;)Ljava/util/Set;
            areturn
        end local 0 // org.apache.commons.collections.BeanMap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/collections/BeanMap;

  public java.util.Set entrySet();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.commons.collections.BeanMap this
         0: .line 422
            new org.apache.commons.collections.BeanMap$9
            dup
            aload 0 /* this */
            invokespecial org.apache.commons.collections.BeanMap$9.<init>:(Lorg/apache/commons/collections/BeanMap;)V
            invokestatic org.apache.commons.collections.set.UnmodifiableSet.decorate:(Ljava/util/Set;)Ljava/util/Set;
            areturn
        end local 0 // org.apache.commons.collections.BeanMap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/collections/BeanMap;

  public java.util.Collection values();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.apache.commons.collections.BeanMap this
         0: .line 439
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield org.apache.commons.collections.BeanMap.readMethods:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 1 /* answer */
        start local 1 // java.util.ArrayList answer
         1: .line 440
            aload 0 /* this */
            invokevirtual org.apache.commons.collections.BeanMap.valueIterator:()Ljava/util/Iterator;
            astore 2 /* iter */
        start local 2 // java.util.Iterator iter
         2: goto 4
         3: .line 441
      StackMap locals: java.util.ArrayList java.util.Iterator
      StackMap stack:
            aload 1 /* answer */
            aload 2 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         4: .line 440
      StackMap locals:
      StackMap stack:
            aload 2 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 2 // java.util.Iterator iter
         5: .line 443
            aload 1 /* answer */
            invokestatic org.apache.commons.collections.list.UnmodifiableList.decorate:(Ljava/util/List;)Ljava/util/List;
            areturn
        end local 1 // java.util.ArrayList answer
        end local 0 // org.apache.commons.collections.BeanMap this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lorg/apache/commons/collections/BeanMap;
            1    6     1  answer  Ljava/util/ArrayList;
            2    5     2    iter  Ljava/util/Iterator;

  public java.lang.Class getType(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.collections.BeanMap this
        start local 1 // java.lang.String name
         0: .line 458
            aload 0 /* this */
            getfield org.apache.commons.collections.BeanMap.types:Ljava/util/HashMap;
            aload 1 /* name */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Class
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.apache.commons.collections.BeanMap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/collections/BeanMap;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public java.util.Iterator keyIterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.collections.BeanMap this
         0: .line 469
            aload 0 /* this */
            getfield org.apache.commons.collections.BeanMap.readMethods:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            areturn
        end local 0 // org.apache.commons.collections.BeanMap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/collections/BeanMap;

  public java.util.Iterator valueIterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.apache.commons.collections.BeanMap this
         0: .line 478
            aload 0 /* this */
            invokevirtual org.apache.commons.collections.BeanMap.keyIterator:()Ljava/util/Iterator;
            astore 1 /* iter */
        start local 1 // java.util.Iterator iter
         1: .line 479
            new org.apache.commons.collections.BeanMap$10
            dup
            aload 0 /* this */
            aload 1 /* iter */
            invokespecial org.apache.commons.collections.BeanMap$10.<init>:(Lorg/apache/commons/collections/BeanMap;Ljava/util/Iterator;)V
            areturn
        end local 1 // java.util.Iterator iter
        end local 0 // org.apache.commons.collections.BeanMap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/collections/BeanMap;
            1    2     1  iter  Ljava/util/Iterator;

  public java.util.Iterator entryIterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.apache.commons.collections.BeanMap this
         0: .line 499
            aload 0 /* this */
            invokevirtual org.apache.commons.collections.BeanMap.keyIterator:()Ljava/util/Iterator;
            astore 1 /* iter */
        start local 1 // java.util.Iterator iter
         1: .line 500
            new org.apache.commons.collections.BeanMap$11
            dup
            aload 0 /* this */
            aload 1 /* iter */
            invokespecial org.apache.commons.collections.BeanMap$11.<init>:(Lorg/apache/commons/collections/BeanMap;Ljava/util/Iterator;)V
            areturn
        end local 1 // java.util.Iterator iter
        end local 0 // org.apache.commons.collections.BeanMap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/collections/BeanMap;
            1    2     1  iter  Ljava/util/Iterator;

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

  public void setBean(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.collections.BeanMap this
        start local 1 // java.lang.Object newBean
         0: .line 536
            aload 0 /* this */
            aload 1 /* newBean */
            putfield org.apache.commons.collections.BeanMap.bean:Ljava/lang/Object;
         1: .line 537
            aload 0 /* this */
            invokevirtual org.apache.commons.collections.BeanMap.reinitialise:()V
         2: .line 538
            return
        end local 1 // java.lang.Object newBean
        end local 0 // org.apache.commons.collections.BeanMap this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/apache/commons/collections/BeanMap;
            0    3     1  newBean  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      newBean  

  public java.lang.reflect.Method getReadMethod(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/reflect/Method;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.collections.BeanMap this
        start local 1 // java.lang.String name
         0: .line 547
            aload 0 /* this */
            getfield org.apache.commons.collections.BeanMap.readMethods:Ljava/util/HashMap;
            aload 1 /* name */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.reflect.Method
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.apache.commons.collections.BeanMap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/collections/BeanMap;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public java.lang.reflect.Method getWriteMethod(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/reflect/Method;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.collections.BeanMap this
        start local 1 // java.lang.String name
         0: .line 557
            aload 0 /* this */
            getfield org.apache.commons.collections.BeanMap.writeMethods:Ljava/util/HashMap;
            aload 1 /* name */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.reflect.Method
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.apache.commons.collections.BeanMap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/collections/BeanMap;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  protected java.lang.reflect.Method getReadMethod(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/reflect/Method;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.collections.BeanMap this
        start local 1 // java.lang.Object name
         0: .line 573
            aload 0 /* this */
            getfield org.apache.commons.collections.BeanMap.readMethods:Ljava/util/HashMap;
            aload 1 /* name */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.reflect.Method
            areturn
        end local 1 // java.lang.Object name
        end local 0 // org.apache.commons.collections.BeanMap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/collections/BeanMap;
            0    1     1  name  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      name  

  protected java.lang.reflect.Method getWriteMethod(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/reflect/Method;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.collections.BeanMap this
        start local 1 // java.lang.Object name
         0: .line 585
            aload 0 /* this */
            getfield org.apache.commons.collections.BeanMap.writeMethods:Ljava/util/HashMap;
            aload 1 /* name */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.reflect.Method
            areturn
        end local 1 // java.lang.Object name
        end local 0 // org.apache.commons.collections.BeanMap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/commons/collections/BeanMap;
            0    1     1  name  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      name  

  protected void reinitialise();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.collections.BeanMap this
         0: .line 593
            aload 0 /* this */
            getfield org.apache.commons.collections.BeanMap.readMethods:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.clear:()V
         1: .line 594
            aload 0 /* this */
            getfield org.apache.commons.collections.BeanMap.writeMethods:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.clear:()V
         2: .line 595
            aload 0 /* this */
            getfield org.apache.commons.collections.BeanMap.types:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.clear:()V
         3: .line 596
            aload 0 /* this */
            invokevirtual org.apache.commons.collections.BeanMap.initialise:()V
         4: .line 597
            return
        end local 0 // org.apache.commons.collections.BeanMap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/commons/collections/BeanMap;

  private void initialise();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=10, args_size=1
        start local 0 // org.apache.commons.collections.BeanMap this
         0: .line 600
            aload 0 /* this */
            invokevirtual org.apache.commons.collections.BeanMap.getBean:()Ljava/lang/Object;
            ifnonnull 1
            return
         1: .line 602
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.apache.commons.collections.BeanMap.getBean:()Ljava/lang/Object;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 1 /* beanClass */
        start local 1 // java.lang.Class beanClass
         2: .line 605
            aload 1 /* beanClass */
            invokestatic java.beans.Introspector.getBeanInfo:(Ljava/lang/Class;)Ljava/beans/BeanInfo;
            astore 2 /* beanInfo */
        start local 2 // java.beans.BeanInfo beanInfo
         3: .line 606
            aload 2 /* beanInfo */
            invokeinterface java.beans.BeanInfo.getPropertyDescriptors:()[Ljava/beans/PropertyDescriptor;
            astore 3 /* propertyDescriptors */
        start local 3 // java.beans.PropertyDescriptor[] propertyDescriptors
         4: .line 607
            aload 3 /* propertyDescriptors */
            ifnull 23
         5: .line 608
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: goto 19
         7: .line 609
      StackMap locals: org.apache.commons.collections.BeanMap java.lang.Class java.beans.BeanInfo java.beans.PropertyDescriptor[] int
      StackMap stack:
            aload 3 /* propertyDescriptors */
            iload 4 /* i */
            aaload
            astore 5 /* propertyDescriptor */
        start local 5 // java.beans.PropertyDescriptor propertyDescriptor
         8: .line 610
            aload 5 /* propertyDescriptor */
            ifnull 18
         9: .line 611
            aload 5 /* propertyDescriptor */
            invokevirtual java.beans.PropertyDescriptor.getName:()Ljava/lang/String;
            astore 6 /* name */
        start local 6 // java.lang.String name
        10: .line 612
            aload 5 /* propertyDescriptor */
            invokevirtual java.beans.PropertyDescriptor.getReadMethod:()Ljava/lang/reflect/Method;
            astore 7 /* readMethod */
        start local 7 // java.lang.reflect.Method readMethod
        11: .line 613
            aload 5 /* propertyDescriptor */
            invokevirtual java.beans.PropertyDescriptor.getWriteMethod:()Ljava/lang/reflect/Method;
            astore 8 /* writeMethod */
        start local 8 // java.lang.reflect.Method writeMethod
        12: .line 614
            aload 5 /* propertyDescriptor */
            invokevirtual java.beans.PropertyDescriptor.getPropertyType:()Ljava/lang/Class;
            astore 9 /* aType */
        start local 9 // java.lang.Class aType
        13: .line 616
            aload 7 /* readMethod */
            ifnull 15
        14: .line 617
            aload 0 /* this */
            getfield org.apache.commons.collections.BeanMap.readMethods:Ljava/util/HashMap;
            aload 6 /* name */
            aload 7 /* readMethod */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 619
      StackMap locals: org.apache.commons.collections.BeanMap java.lang.Class java.beans.BeanInfo java.beans.PropertyDescriptor[] int java.beans.PropertyDescriptor java.lang.String java.lang.reflect.Method java.lang.reflect.Method java.lang.Class
      StackMap stack:
            aload 8 /* writeMethod */
            ifnull 17
        16: .line 620
            aload 0 /* this */
            getfield org.apache.commons.collections.BeanMap.writeMethods:Ljava/util/HashMap;
            aload 6 /* name */
            aload 8 /* writeMethod */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        17: .line 622
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.commons.collections.BeanMap.types:Ljava/util/HashMap;
            aload 6 /* name */
            aload 9 /* aType */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 9 // java.lang.Class aType
        end local 8 // java.lang.reflect.Method writeMethod
        end local 7 // java.lang.reflect.Method readMethod
        end local 6 // java.lang.String name
        end local 5 // java.beans.PropertyDescriptor propertyDescriptor
        18: .line 608
      StackMap locals: org.apache.commons.collections.BeanMap java.lang.Class java.beans.BeanInfo java.beans.PropertyDescriptor[] int
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        19: iload 4 /* i */
            aload 3 /* propertyDescriptors */
            arraylength
            if_icmplt 7
        end local 4 // int i
        end local 3 // java.beans.PropertyDescriptor[] propertyDescriptors
        end local 2 // java.beans.BeanInfo beanInfo
        20: .line 626
            goto 23
        21: .line 627
      StackMap locals: org.apache.commons.collections.BeanMap java.lang.Class
      StackMap stack: java.beans.IntrospectionException
            astore 2 /* e */
        start local 2 // java.beans.IntrospectionException e
        22: .line 628
            aload 0 /* this */
            aload 2 /* e */
            invokevirtual org.apache.commons.collections.BeanMap.logWarn:(Ljava/lang/Exception;)V
        end local 2 // java.beans.IntrospectionException e
        23: .line 630
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Class beanClass
        end local 0 // org.apache.commons.collections.BeanMap this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   24     0                 this  Lorg/apache/commons/collections/BeanMap;
            2   24     1            beanClass  Ljava/lang/Class;
            3   20     2             beanInfo  Ljava/beans/BeanInfo;
            4   20     3  propertyDescriptors  [Ljava/beans/PropertyDescriptor;
            6   20     4                    i  I
            8   18     5   propertyDescriptor  Ljava/beans/PropertyDescriptor;
           10   18     6                 name  Ljava/lang/String;
           11   18     7           readMethod  Ljava/lang/reflect/Method;
           12   18     8          writeMethod  Ljava/lang/reflect/Method;
           13   18     9                aType  Ljava/lang/Class;
           22   23     2                    e  Ljava/beans/IntrospectionException;
      Exception table:
        from    to  target  type
           2    20      21  Class java.beans.IntrospectionException

  protected void firePropertyChange(java.lang.Object, java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=4, args_size=4
        start local 0 // org.apache.commons.collections.BeanMap this
        start local 1 // java.lang.Object key
        start local 2 // java.lang.Object oldValue
        start local 3 // java.lang.Object newValue
         0: .line 642
            return
        end local 3 // java.lang.Object newValue
        end local 2 // java.lang.Object oldValue
        end local 1 // java.lang.Object key
        end local 0 // org.apache.commons.collections.BeanMap this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/apache/commons/collections/BeanMap;
            0    1     1       key  Ljava/lang/Object;
            0    1     2  oldValue  Ljava/lang/Object;
            0    1     3  newValue  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      key       
      oldValue  
      newValue  

  protected java.lang.Object[] createWriteMethodArguments(java.lang.reflect.Method, java.lang.Object);
    descriptor: (Ljava/lang/reflect/Method;Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.apache.commons.collections.BeanMap this
        start local 1 // java.lang.reflect.Method method
        start local 2 // java.lang.Object value
         0: .line 698
            aload 2 /* value */
            ifnull 6
         1: .line 699
            aload 1 /* method */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            astore 3 /* types */
        start local 3 // java.lang.Class[] types
         2: .line 700
            aload 3 /* types */
            ifnull 6
            aload 3 /* types */
            arraylength
            ifle 6
         3: .line 701
            aload 3 /* types */
            iconst_0
            aaload
            astore 4 /* paramType */
        start local 4 // java.lang.Class paramType
         4: .line 702
            aload 4 /* paramType */
            aload 2 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 6
         5: .line 703
            aload 0 /* this */
            aload 4 /* paramType */
            aload 2 /* value */
            invokevirtual org.apache.commons.collections.BeanMap.convertType:(Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* value */
        end local 4 // java.lang.Class paramType
        end local 3 // java.lang.Class[] types
         6: .line 707
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* value */
            aastore
            astore 3 /* answer */
        start local 3 // java.lang.Object[] answer
         7: .line 708
            aload 3 /* answer */
         8: areturn
        end local 3 // java.lang.Object[] answer
         9: .line 710
      StackMap locals:
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 3 /* e */
        start local 3 // java.lang.reflect.InvocationTargetException e
        10: .line 711
            aload 0 /* this */
            aload 3 /* e */
            invokevirtual org.apache.commons.collections.BeanMap.logInfo:(Ljava/lang/Exception;)V
        11: .line 712
            new java.lang.IllegalArgumentException
            dup
            aload 3 /* e */
            invokevirtual java.lang.reflect.InvocationTargetException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.reflect.InvocationTargetException e
        12: .line 714
      StackMap locals:
      StackMap stack: java.lang.InstantiationException
            astore 3 /* e */
        start local 3 // java.lang.InstantiationException e
        13: .line 715
            aload 0 /* this */
            aload 3 /* e */
            invokevirtual org.apache.commons.collections.BeanMap.logInfo:(Ljava/lang/Exception;)V
        14: .line 716
            new java.lang.IllegalArgumentException
            dup
            aload 3 /* e */
            invokevirtual java.lang.InstantiationException.getMessage:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.InstantiationException e
        end local 2 // java.lang.Object value
        end local 1 // java.lang.reflect.Method method
        end local 0 // org.apache.commons.collections.BeanMap this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       this  Lorg/apache/commons/collections/BeanMap;
            0   15     1     method  Ljava/lang/reflect/Method;
            0   15     2      value  Ljava/lang/Object;
            2    6     3      types  [Ljava/lang/Class;
            4    6     4  paramType  Ljava/lang/Class;
            7    9     3     answer  [Ljava/lang/Object;
           10   12     3          e  Ljava/lang/reflect/InvocationTargetException;
           13   15     3          e  Ljava/lang/InstantiationException;
      Exception table:
        from    to  target  type
           0     8       9  Class java.lang.reflect.InvocationTargetException
           0     8      12  Class java.lang.InstantiationException
    Exceptions:
      throws java.lang.IllegalAccessException, java.lang.ClassCastException
    MethodParameters:
        Name  Flags
      method  
      value   

  protected java.lang.Object convertType(java.lang.Class, java.lang.Object);
    descriptor: (Ljava/lang/Class;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.apache.commons.collections.BeanMap this
        start local 1 // java.lang.Class newType
        start local 2 // java.lang.Object value
         0: .line 755
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            aload 2 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            aastore
            astore 3 /* types */
        start local 3 // java.lang.Class[] types
         1: .line 757
            aload 1 /* newType */
            aload 3 /* types */
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 4 /* constructor */
        start local 4 // java.lang.reflect.Constructor constructor
         2: .line 758
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* value */
            aastore
            astore 5 /* arguments */
        start local 5 // java.lang.Object[] arguments
         3: .line 759
            aload 4 /* constructor */
            aload 5 /* arguments */
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
         4: areturn
        end local 5 // java.lang.Object[] arguments
        end local 4 // java.lang.reflect.Constructor constructor
         5: .line 761
      StackMap locals: org.apache.commons.collections.BeanMap java.lang.Class java.lang.Object java.lang.Class[]
      StackMap stack: java.lang.NoSuchMethodException
            pop
         6: .line 763
            aload 0 /* this */
            aload 1 /* newType */
            invokevirtual org.apache.commons.collections.BeanMap.getTypeTransformer:(Ljava/lang/Class;)Lorg/apache/commons/collections/Transformer;
            astore 4 /* transformer */
        start local 4 // org.apache.commons.collections.Transformer transformer
         7: .line 764
            aload 4 /* transformer */
            ifnull 9
         8: .line 765
            aload 4 /* transformer */
            aload 2 /* value */
            invokeinterface org.apache.commons.collections.Transformer.transform:(Ljava/lang/Object;)Ljava/lang/Object;
            areturn
         9: .line 767
      StackMap locals: org.apache.commons.collections.Transformer
      StackMap stack:
            aload 2 /* value */
            areturn
        end local 4 // org.apache.commons.collections.Transformer transformer
        end local 3 // java.lang.Class[] types
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Class newType
        end local 0 // org.apache.commons.collections.BeanMap this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0         this  Lorg/apache/commons/collections/BeanMap;
            0   10     1      newType  Ljava/lang/Class;
            0   10     2        value  Ljava/lang/Object;
            1   10     3        types  [Ljava/lang/Class;
            2    5     4  constructor  Ljava/lang/reflect/Constructor;
            3    5     5    arguments  [Ljava/lang/Object;
            7   10     4  transformer  Lorg/apache/commons/collections/Transformer;
      Exception table:
        from    to  target  type
           1     4       5  Class java.lang.NoSuchMethodException
    Exceptions:
      throws java.lang.InstantiationException, java.lang.IllegalAccessException, java.lang.IllegalArgumentException, java.lang.reflect.InvocationTargetException
    MethodParameters:
         Name  Flags
      newType  
      value    

  protected org.apache.commons.collections.Transformer getTypeTransformer(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Lorg/apache/commons/collections/Transformer;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.commons.collections.BeanMap this
        start local 1 // java.lang.Class aType
         0: .line 779
            getstatic org.apache.commons.collections.BeanMap.defaultTransformers:Ljava/util/HashMap;
            aload 1 /* aType */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.apache.commons.collections.Transformer
            areturn
        end local 1 // java.lang.Class aType
        end local 0 // org.apache.commons.collections.BeanMap this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/apache/commons/collections/BeanMap;
            0    1     1  aType  Ljava/lang/Class;
    MethodParameters:
       Name  Flags
      aType  

  protected void logInfo(java.lang.Exception);
    descriptor: (Ljava/lang/Exception;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.commons.collections.BeanMap this
        start local 1 // java.lang.Exception ex
         0: .line 790
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "INFO: Exception: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* ex */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 791
            return
        end local 1 // java.lang.Exception ex
        end local 0 // org.apache.commons.collections.BeanMap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/collections/BeanMap;
            0    2     1    ex  Ljava/lang/Exception;
    MethodParameters:
      Name  Flags
      ex    

  protected void logWarn(java.lang.Exception);
    descriptor: (Ljava/lang/Exception;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.commons.collections.BeanMap this
        start local 1 // java.lang.Exception ex
         0: .line 801
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "WARN: Exception: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* ex */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 802
            aload 1 /* ex */
            invokevirtual java.lang.Exception.printStackTrace:()V
         2: .line 803
            return
        end local 1 // java.lang.Exception ex
        end local 0 // org.apache.commons.collections.BeanMap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/commons/collections/BeanMap;
            0    3     1    ex  Ljava/lang/Exception;
    MethodParameters:
      Name  Flags
      ex    
}
SourceFile: "BeanMap.java"
NestMembers:
  org.apache.commons.collections.BeanMap$1  org.apache.commons.collections.BeanMap$10  org.apache.commons.collections.BeanMap$11  org.apache.commons.collections.BeanMap$2  org.apache.commons.collections.BeanMap$3  org.apache.commons.collections.BeanMap$4  org.apache.commons.collections.BeanMap$5  org.apache.commons.collections.BeanMap$6  org.apache.commons.collections.BeanMap$7  org.apache.commons.collections.BeanMap$8  org.apache.commons.collections.BeanMap$9  org.apache.commons.collections.BeanMap$MyMapEntry
InnerClasses:
  org.apache.commons.collections.BeanMap$1
  org.apache.commons.collections.BeanMap$10
  org.apache.commons.collections.BeanMap$11
  org.apache.commons.collections.BeanMap$2
  org.apache.commons.collections.BeanMap$3
  org.apache.commons.collections.BeanMap$4
  org.apache.commons.collections.BeanMap$5
  org.apache.commons.collections.BeanMap$6
  org.apache.commons.collections.BeanMap$7
  org.apache.commons.collections.BeanMap$8
  org.apache.commons.collections.BeanMap$9
  protected MyMapEntry = org.apache.commons.collections.BeanMap$MyMapEntry of org.apache.commons.collections.BeanMap