public class freemarker.template.DefaultObjectWrapper extends freemarker.ext.beans.BeansWrapper
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: freemarker.template.DefaultObjectWrapper
  super_class: freemarker.ext.beans.BeansWrapper
{
  static final freemarker.template.DefaultObjectWrapper instance;
    descriptor: Lfreemarker/template/DefaultObjectWrapper;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  private static final java.lang.Class<?> JYTHON_OBJ_CLASS;
    descriptor: Ljava/lang/Class;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  private static final freemarker.template.ObjectWrapper JYTHON_WRAPPER;
    descriptor: Lfreemarker/template/ObjectWrapper;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

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

  private final boolean useAdapterForEnumerations;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=3, args_size=0
         0: .line 64
            new freemarker.template.DefaultObjectWrapper
            dup
            invokespecial freemarker.template.DefaultObjectWrapper.<init>:()V
            putstatic freemarker.template.DefaultObjectWrapper.instance:Lfreemarker/template/DefaultObjectWrapper;
         1: .line 151
            ldc "org.python.core.PyObject"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 0 /* cl */
        start local 0 // java.lang.Class cl
         2: .line 153
            ldc "freemarker.ext.jython.JythonWrapper"
         3: .line 152
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
         4: .line 154
            ldc "INSTANCE"
            invokevirtual java.lang.Class.getField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            aconst_null
            invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
         5: .line 152
            checkcast freemarker.template.ObjectWrapper
            astore 1 /* ow */
        start local 1 // freemarker.template.ObjectWrapper ow
         6: .line 155
            goto 15
        end local 1 // freemarker.template.ObjectWrapper ow
        end local 0 // java.lang.Class cl
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: astore 2 /* e */
        start local 2 // java.lang.Throwable e
         8: .line 156
            aconst_null
            astore 0 /* cl */
        start local 0 // java.lang.Class cl
         9: .line 157
            aconst_null
            astore 1 /* ow */
        start local 1 // freemarker.template.ObjectWrapper ow
        10: .line 158
            aload 2 /* e */
            instanceof java.lang.ClassNotFoundException
            ifne 15
        11: .line 160
            ldc "freemarker.template.DefaultObjectWrapper"
            invokestatic freemarker.log.Logger.getLogger:(Ljava/lang/String;)Lfreemarker/log/Logger;
        12: .line 161
            ldc "Failed to init Jython support, so it was disabled."
            aload 2 /* e */
            invokevirtual freemarker.log.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
        13: .line 162
            goto 15
      StackMap locals: java.lang.Class freemarker.template.ObjectWrapper java.lang.Throwable
      StackMap stack: java.lang.Throwable
        14: pop
        end local 2 // java.lang.Throwable e
        15: .line 167
      StackMap locals:
      StackMap stack:
            aload 0 /* cl */
            putstatic freemarker.template.DefaultObjectWrapper.JYTHON_OBJ_CLASS:Ljava/lang/Class;
        16: .line 168
            aload 1 /* ow */
            putstatic freemarker.template.DefaultObjectWrapper.JYTHON_WRAPPER:Lfreemarker/template/ObjectWrapper;
        end local 1 // freemarker.template.ObjectWrapper ow
        end local 0 // java.lang.Class cl
        17: .line 169
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            2    7     0    cl  Ljava/lang/Class<*>;
            9   17     0    cl  Ljava/lang/Class<*>;
            6    7     1    ow  Lfreemarker/template/ObjectWrapper;
           10   17     1    ow  Lfreemarker/template/ObjectWrapper;
            8   15     2     e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     6       7  Class java.lang.Throwable
          11    13      14  Class java.lang.Throwable

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // freemarker.template.DefaultObjectWrapper this
         0: .line 84
            aload 0 /* this */
            getstatic freemarker.template.Configuration.DEFAULT_INCOMPATIBLE_IMPROVEMENTS:Lfreemarker/template/Version;
            invokespecial freemarker.template.DefaultObjectWrapper.<init>:(Lfreemarker/template/Version;)V
         1: .line 85
            return
        end local 0 // freemarker.template.DefaultObjectWrapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/template/DefaultObjectWrapper;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public void <init>(freemarker.template.Version);
    descriptor: (Lfreemarker/template/Version;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // freemarker.template.DefaultObjectWrapper this
        start local 1 // freemarker.template.Version incompatibleImprovements
         0: .line 115
            aload 0 /* this */
            new freemarker.template.DefaultObjectWrapper$1
            dup
            aload 1 /* incompatibleImprovements */
            invokespecial freemarker.template.DefaultObjectWrapper$1.<init>:(Lfreemarker/template/Version;)V
            iconst_0
            invokespecial freemarker.template.DefaultObjectWrapper.<init>:(Lfreemarker/template/DefaultObjectWrapperConfiguration;Z)V
         1: .line 116
            return
        end local 1 // freemarker.template.Version incompatibleImprovements
        end local 0 // freemarker.template.DefaultObjectWrapper this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    2     0                      this  Lfreemarker/template/DefaultObjectWrapper;
            0    2     1  incompatibleImprovements  Lfreemarker/template/Version;
    MethodParameters:
                          Name  Flags
      incompatibleImprovements  

  protected void <init>(freemarker.ext.beans.BeansWrapperConfiguration, boolean);
    descriptor: (Lfreemarker/ext/beans/BeansWrapperConfiguration;Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // freemarker.template.DefaultObjectWrapper this
        start local 1 // freemarker.ext.beans.BeansWrapperConfiguration bwCfg
        start local 2 // boolean writeProtected
         0: .line 125
            aload 0 /* this */
            aload 1 /* bwCfg */
            iload 2 /* writeProtected */
            iconst_0
            invokespecial freemarker.ext.beans.BeansWrapper.<init>:(Lfreemarker/ext/beans/BeansWrapperConfiguration;ZZ)V
         1: .line 126
            aload 1 /* bwCfg */
            instanceof freemarker.template.DefaultObjectWrapperConfiguration
            ifeq 3
         2: .line 127
            aload 1 /* bwCfg */
            checkcast freemarker.template.DefaultObjectWrapperConfiguration
            goto 4
         3: .line 128
      StackMap locals: freemarker.template.DefaultObjectWrapper freemarker.ext.beans.BeansWrapperConfiguration int
      StackMap stack:
            new freemarker.template.DefaultObjectWrapper$2
            dup
            aload 0 /* this */
            aload 1 /* bwCfg */
            invokevirtual freemarker.ext.beans.BeansWrapperConfiguration.getIncompatibleImprovements:()Lfreemarker/template/Version;
            invokespecial freemarker.template.DefaultObjectWrapper$2.<init>:(Lfreemarker/template/DefaultObjectWrapper;Lfreemarker/template/Version;)V
         4: .line 126
      StackMap locals:
      StackMap stack: freemarker.template.DefaultObjectWrapperConfiguration
            astore 3 /* dowDowCfg */
        start local 3 // freemarker.template.DefaultObjectWrapperConfiguration dowDowCfg
         5: .line 129
            aload 0 /* this */
            aload 3 /* dowDowCfg */
            invokevirtual freemarker.template.DefaultObjectWrapperConfiguration.getUseAdaptersForContainers:()Z
            putfield freemarker.template.DefaultObjectWrapper.useAdaptersForContainers:Z
         6: .line 130
            aload 0 /* this */
            aload 0 /* this */
            getfield freemarker.template.DefaultObjectWrapper.useAdaptersForContainers:Z
            ifeq 8
         7: .line 131
            aload 0 /* this */
            invokevirtual freemarker.template.DefaultObjectWrapper.getIncompatibleImprovements:()Lfreemarker/template/Version;
            invokevirtual freemarker.template.Version.intValue:()I
            getstatic freemarker.template._TemplateAPI.VERSION_INT_2_3_26:I
            if_icmplt 8
            iconst_1
            goto 9
      StackMap locals: freemarker.template.DefaultObjectWrapper freemarker.ext.beans.BeansWrapperConfiguration int freemarker.template.DefaultObjectWrapperConfiguration
      StackMap stack: freemarker.template.DefaultObjectWrapper
         8: iconst_0
         9: .line 130
      StackMap locals: freemarker.template.DefaultObjectWrapper freemarker.ext.beans.BeansWrapperConfiguration int freemarker.template.DefaultObjectWrapperConfiguration
      StackMap stack: freemarker.template.DefaultObjectWrapper int
            putfield freemarker.template.DefaultObjectWrapper.useAdapterForEnumerations:Z
        10: .line 132
            aload 0 /* this */
            aload 3 /* dowDowCfg */
            invokevirtual freemarker.template.DefaultObjectWrapperConfiguration.getForceLegacyNonListCollections:()Z
            putfield freemarker.template.DefaultObjectWrapper.forceLegacyNonListCollections:Z
        11: .line 133
            aload 0 /* this */
            aload 3 /* dowDowCfg */
            invokevirtual freemarker.template.DefaultObjectWrapperConfiguration.getIterableSupport:()Z
            putfield freemarker.template.DefaultObjectWrapper.iterableSupport:Z
        12: .line 134
            aload 0 /* this */
            iload 2 /* writeProtected */
            invokevirtual freemarker.template.DefaultObjectWrapper.finalizeConstruction:(Z)V
        13: .line 135
            return
        end local 3 // freemarker.template.DefaultObjectWrapperConfiguration dowDowCfg
        end local 2 // boolean writeProtected
        end local 1 // freemarker.ext.beans.BeansWrapperConfiguration bwCfg
        end local 0 // freemarker.template.DefaultObjectWrapper this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   14     0            this  Lfreemarker/template/DefaultObjectWrapper;
            0   14     1           bwCfg  Lfreemarker/ext/beans/BeansWrapperConfiguration;
            0   14     2  writeProtected  Z
            5   14     3       dowDowCfg  Lfreemarker/template/DefaultObjectWrapperConfiguration;
    MethodParameters:
                Name  Flags
      bwCfg           
      writeProtected  

  protected void <init>(freemarker.template.DefaultObjectWrapperConfiguration, boolean);
    descriptor: (Lfreemarker/template/DefaultObjectWrapperConfiguration;Z)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // freemarker.template.DefaultObjectWrapper this
        start local 1 // freemarker.template.DefaultObjectWrapperConfiguration dowCfg
        start local 2 // boolean writeProtected
         0: .line 144
            aload 0 /* this */
            aload 1 /* dowCfg */
            iload 2 /* writeProtected */
            invokespecial freemarker.template.DefaultObjectWrapper.<init>:(Lfreemarker/ext/beans/BeansWrapperConfiguration;Z)V
         1: .line 145
            return
        end local 2 // boolean writeProtected
        end local 1 // freemarker.template.DefaultObjectWrapperConfiguration dowCfg
        end local 0 // freemarker.template.DefaultObjectWrapper this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lfreemarker/template/DefaultObjectWrapper;
            0    2     1          dowCfg  Lfreemarker/template/DefaultObjectWrapperConfiguration;
            0    2     2  writeProtected  Z
    MethodParameters:
                Name  Flags
      dowCfg          
      writeProtected  

  public freemarker.template.TemplateModel wrap(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lfreemarker/template/TemplateModel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // freemarker.template.DefaultObjectWrapper this
        start local 1 // java.lang.Object obj
         0: .line 182
            aload 1 /* obj */
            ifnonnull 2
         1: .line 183
            aload 0 /* this */
            aconst_null
            invokespecial freemarker.ext.beans.BeansWrapper.wrap:(Ljava/lang/Object;)Lfreemarker/template/TemplateModel;
            areturn
         2: .line 185
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof freemarker.template.TemplateModel
            ifeq 4
         3: .line 186
            aload 1 /* obj */
            checkcast freemarker.template.TemplateModel
            areturn
         4: .line 188
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof java.lang.String
            ifeq 6
         5: .line 189
            new freemarker.template.SimpleScalar
            dup
            aload 1 /* obj */
            checkcast java.lang.String
            invokespecial freemarker.template.SimpleScalar.<init>:(Ljava/lang/String;)V
            areturn
         6: .line 191
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof java.lang.Number
            ifeq 8
         7: .line 192
            new freemarker.template.SimpleNumber
            dup
            aload 1 /* obj */
            checkcast java.lang.Number
            invokespecial freemarker.template.SimpleNumber.<init>:(Ljava/lang/Number;)V
            areturn
         8: .line 194
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof java.util.Date
            ifeq 16
         9: .line 195
            aload 1 /* obj */
            instanceof java.sql.Date
            ifeq 11
        10: .line 196
            new freemarker.template.SimpleDate
            dup
            aload 1 /* obj */
            checkcast java.sql.Date
            invokespecial freemarker.template.SimpleDate.<init>:(Ljava/sql/Date;)V
            areturn
        11: .line 198
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof java.sql.Time
            ifeq 13
        12: .line 199
            new freemarker.template.SimpleDate
            dup
            aload 1 /* obj */
            checkcast java.sql.Time
            invokespecial freemarker.template.SimpleDate.<init>:(Ljava/sql/Time;)V
            areturn
        13: .line 201
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof java.sql.Timestamp
            ifeq 15
        14: .line 202
            new freemarker.template.SimpleDate
            dup
            aload 1 /* obj */
            checkcast java.sql.Timestamp
            invokespecial freemarker.template.SimpleDate.<init>:(Ljava/sql/Timestamp;)V
            areturn
        15: .line 204
      StackMap locals:
      StackMap stack:
            new freemarker.template.SimpleDate
            dup
            aload 1 /* obj */
            checkcast java.util.Date
            aload 0 /* this */
            invokevirtual freemarker.template.DefaultObjectWrapper.getDefaultDateType:()I
            invokespecial freemarker.template.SimpleDate.<init>:(Ljava/util/Date;I)V
            areturn
        16: .line 206
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 2 /* objClass */
        start local 2 // java.lang.Class objClass
        17: .line 207
            aload 2 /* objClass */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 21
        18: .line 208
            aload 0 /* this */
            getfield freemarker.template.DefaultObjectWrapper.useAdaptersForContainers:Z
            ifeq 20
        19: .line 209
            aload 1 /* obj */
            aload 0 /* this */
            invokestatic freemarker.template.DefaultArrayAdapter.adapt:(Ljava/lang/Object;Lfreemarker/template/ObjectWrapperAndUnwrapper;)Lfreemarker/template/DefaultArrayAdapter;
            areturn
        20: .line 211
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 0 /* this */
            aload 1 /* obj */
            invokevirtual freemarker.template.DefaultObjectWrapper.convertArray:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 1 /* obj */
        21: .line 215
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof java.util.Collection
            ifeq 30
        22: .line 216
            aload 0 /* this */
            getfield freemarker.template.DefaultObjectWrapper.useAdaptersForContainers:Z
            ifeq 29
        23: .line 217
            aload 1 /* obj */
            instanceof java.util.List
            ifeq 25
        24: .line 218
            aload 1 /* obj */
            checkcast java.util.List
            aload 0 /* this */
            invokestatic freemarker.template.DefaultListAdapter.adapt:(Ljava/util/List;Lfreemarker/template/utility/RichObjectWrapper;)Lfreemarker/template/DefaultListAdapter;
            areturn
        25: .line 220
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.DefaultObjectWrapper.forceLegacyNonListCollections:Z
            ifeq 27
        26: .line 221
            new freemarker.template.SimpleSequence
            dup
            aload 1 /* obj */
            checkcast java.util.Collection
            aload 0 /* this */
            invokespecial freemarker.template.SimpleSequence.<init>:(Ljava/util/Collection;Lfreemarker/template/ObjectWrapper;)V
            goto 28
        27: .line 222
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            checkcast java.util.Collection
            aload 0 /* this */
            invokestatic freemarker.template.DefaultNonListCollectionAdapter.adapt:(Ljava/util/Collection;Lfreemarker/template/utility/ObjectWrapperWithAPISupport;)Lfreemarker/template/DefaultNonListCollectionAdapter;
        28: .line 220
      StackMap locals:
      StackMap stack: freemarker.template.WrappingTemplateModel
            areturn
        29: .line 225
      StackMap locals:
      StackMap stack:
            new freemarker.template.SimpleSequence
            dup
            aload 1 /* obj */
            checkcast java.util.Collection
            aload 0 /* this */
            invokespecial freemarker.template.SimpleSequence.<init>:(Ljava/util/Collection;Lfreemarker/template/ObjectWrapper;)V
            areturn
        30: .line 228
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof java.util.Map
            ifeq 35
        31: .line 229
            aload 0 /* this */
            getfield freemarker.template.DefaultObjectWrapper.useAdaptersForContainers:Z
            ifeq 33
        32: .line 230
            aload 1 /* obj */
            checkcast java.util.Map
            aload 0 /* this */
            invokestatic freemarker.template.DefaultMapAdapter.adapt:(Ljava/util/Map;Lfreemarker/template/utility/ObjectWrapperWithAPISupport;)Lfreemarker/template/DefaultMapAdapter;
            goto 34
        33: .line 231
      StackMap locals:
      StackMap stack:
            new freemarker.template.SimpleHash
            dup
            aload 1 /* obj */
            checkcast java.util.Map
            aload 0 /* this */
            invokespecial freemarker.template.SimpleHash.<init>:(Ljava/util/Map;Lfreemarker/template/ObjectWrapper;)V
        34: .line 229
      StackMap locals:
      StackMap stack: freemarker.template.WrappingTemplateModel
            areturn
        35: .line 233
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof java.lang.Boolean
            ifeq 39
        36: .line 234
            aload 1 /* obj */
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 37
            getstatic freemarker.template.TemplateBooleanModel.TRUE:Lfreemarker/template/TemplateBooleanModel;
            goto 38
      StackMap locals:
      StackMap stack:
        37: getstatic freemarker.template.TemplateBooleanModel.FALSE:Lfreemarker/template/TemplateBooleanModel;
      StackMap locals:
      StackMap stack: freemarker.template.TemplateBooleanModel
        38: areturn
        39: .line 236
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            instanceof java.util.Iterator
            ifeq 44
        40: .line 237
            aload 0 /* this */
            getfield freemarker.template.DefaultObjectWrapper.useAdaptersForContainers:Z
            ifeq 42
        41: .line 238
            aload 1 /* obj */
            checkcast java.util.Iterator
            aload 0 /* this */
            invokestatic freemarker.template.DefaultIteratorAdapter.adapt:(Ljava/util/Iterator;Lfreemarker/template/ObjectWrapper;)Lfreemarker/template/DefaultIteratorAdapter;
            goto 43
        42: .line 239
      StackMap locals:
      StackMap stack:
            new freemarker.template.SimpleCollection
            dup
            aload 1 /* obj */
            checkcast java.util.Iterator
            aload 0 /* this */
            invokespecial freemarker.template.SimpleCollection.<init>:(Ljava/util/Iterator;Lfreemarker/template/ObjectWrapper;)V
        43: .line 237
      StackMap locals:
      StackMap stack: freemarker.template.WrappingTemplateModel
            areturn
        44: .line 241
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.DefaultObjectWrapper.useAdapterForEnumerations:Z
            ifeq 46
            aload 1 /* obj */
            instanceof java.util.Enumeration
            ifeq 46
        45: .line 242
            aload 1 /* obj */
            checkcast java.util.Enumeration
            aload 0 /* this */
            invokestatic freemarker.template.DefaultEnumerationAdapter.adapt:(Ljava/util/Enumeration;Lfreemarker/template/ObjectWrapper;)Lfreemarker/template/DefaultEnumerationAdapter;
            areturn
        46: .line 244
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.DefaultObjectWrapper.iterableSupport:Z
            ifeq 48
            aload 1 /* obj */
            instanceof java.lang.Iterable
            ifeq 48
        47: .line 245
            aload 1 /* obj */
            checkcast java.lang.Iterable
            aload 0 /* this */
            invokestatic freemarker.template.DefaultIterableAdapter.adapt:(Ljava/lang/Iterable;Lfreemarker/template/utility/ObjectWrapperWithAPISupport;)Lfreemarker/template/DefaultIterableAdapter;
            areturn
        48: .line 248
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* obj */
            invokevirtual freemarker.template.DefaultObjectWrapper.handleUnknownType:(Ljava/lang/Object;)Lfreemarker/template/TemplateModel;
            areturn
        end local 2 // java.lang.Class objClass
        end local 1 // java.lang.Object obj
        end local 0 // freemarker.template.DefaultObjectWrapper this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   49     0      this  Lfreemarker/template/DefaultObjectWrapper;
            0   49     1       obj  Ljava/lang/Object;
           17   49     2  objClass  Ljava/lang/Class<*>;
    Exceptions:
      throws freemarker.template.TemplateModelException
    MethodParameters:
      Name  Flags
      obj   

  protected freemarker.template.TemplateModel handleUnknownType(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lfreemarker/template/TemplateModel;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.template.DefaultObjectWrapper this
        start local 1 // java.lang.Object obj
         0: .line 263
            aload 1 /* obj */
            instanceof org.w3c.dom.Node
            ifeq 2
         1: .line 264
            aload 0 /* this */
            aload 1 /* obj */
            invokevirtual freemarker.template.DefaultObjectWrapper.wrapDomNode:(Ljava/lang/Object;)Lfreemarker/template/TemplateModel;
            areturn
         2: .line 266
      StackMap locals:
      StackMap stack:
            getstatic freemarker.template.DefaultObjectWrapper.JYTHON_WRAPPER:Lfreemarker/template/ObjectWrapper;
            ifnull 4
            getstatic freemarker.template.DefaultObjectWrapper.JYTHON_OBJ_CLASS:Ljava/lang/Class;
            aload 1 /* obj */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 267
            getstatic freemarker.template.DefaultObjectWrapper.JYTHON_WRAPPER:Lfreemarker/template/ObjectWrapper;
            aload 1 /* obj */
            invokeinterface freemarker.template.ObjectWrapper.wrap:(Ljava/lang/Object;)Lfreemarker/template/TemplateModel;
            areturn
         4: .line 269
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* obj */
            invokespecial freemarker.ext.beans.BeansWrapper.wrap:(Ljava/lang/Object;)Lfreemarker/template/TemplateModel;
            areturn
        end local 1 // java.lang.Object obj
        end local 0 // freemarker.template.DefaultObjectWrapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lfreemarker/template/DefaultObjectWrapper;
            0    5     1   obj  Ljava/lang/Object;
    Exceptions:
      throws freemarker.template.TemplateModelException
    MethodParameters:
      Name  Flags
      obj   

  public freemarker.template.TemplateModel wrapDomNode(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Lfreemarker/template/TemplateModel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // freemarker.template.DefaultObjectWrapper this
        start local 1 // java.lang.Object obj
         0: .line 273
            aload 1 /* obj */
            checkcast org.w3c.dom.Node
            invokestatic freemarker.ext.dom.NodeModel.wrap:(Lorg/w3c/dom/Node;)Lfreemarker/ext/dom/NodeModel;
            areturn
        end local 1 // java.lang.Object obj
        end local 0 // freemarker.template.DefaultObjectWrapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/DefaultObjectWrapper;
            0    1     1   obj  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      obj   

  protected java.lang.Object convertArray(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // freemarker.template.DefaultObjectWrapper this
        start local 1 // java.lang.Object arr
         0: .line 281
            aload 1 /* arr */
            invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
            istore 2 /* size */
        start local 2 // int size
         1: .line 282
            new java.util.ArrayList
            dup
            iload 2 /* size */
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* list */
        start local 3 // java.util.ArrayList list
         2: .line 283
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 6
         4: .line 284
      StackMap locals: int java.util.ArrayList int
      StackMap stack:
            aload 3 /* list */
            aload 1 /* arr */
            iload 4 /* i */
            invokestatic java.lang.reflect.Array.get:(Ljava/lang/Object;I)Ljava/lang/Object;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         5: .line 283
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 4 /* i */
            iload 2 /* size */
            if_icmplt 4
        end local 4 // int i
         7: .line 286
            aload 3 /* list */
            areturn
        end local 3 // java.util.ArrayList list
        end local 2 // int size
        end local 1 // java.lang.Object arr
        end local 0 // freemarker.template.DefaultObjectWrapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lfreemarker/template/DefaultObjectWrapper;
            0    8     1   arr  Ljava/lang/Object;
            1    8     2  size  I
            2    8     3  list  Ljava/util/ArrayList;
            3    7     4     i  I
    MethodParameters:
      Name  Flags
      arr   

  public boolean getUseAdaptersForContainers();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.DefaultObjectWrapper this
         0: .line 295
            aload 0 /* this */
            getfield freemarker.template.DefaultObjectWrapper.useAdaptersForContainers:Z
            ireturn
        end local 0 // freemarker.template.DefaultObjectWrapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/DefaultObjectWrapper;

  public void setUseAdaptersForContainers(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.template.DefaultObjectWrapper this
        start local 1 // boolean useAdaptersForContainers
         0: .line 325
            aload 0 /* this */
            invokevirtual freemarker.template.DefaultObjectWrapper.checkModifiable:()V
         1: .line 326
            aload 0 /* this */
            iload 1 /* useAdaptersForContainers */
            putfield freemarker.template.DefaultObjectWrapper.useAdaptersForContainers:Z
         2: .line 327
            return
        end local 1 // boolean useAdaptersForContainers
        end local 0 // freemarker.template.DefaultObjectWrapper this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    3     0                      this  Lfreemarker/template/DefaultObjectWrapper;
            0    3     1  useAdaptersForContainers  Z
    MethodParameters:
                          Name  Flags
      useAdaptersForContainers  

  public boolean getForceLegacyNonListCollections();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.DefaultObjectWrapper this
         0: .line 335
            aload 0 /* this */
            getfield freemarker.template.DefaultObjectWrapper.forceLegacyNonListCollections:Z
            ireturn
        end local 0 // freemarker.template.DefaultObjectWrapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/DefaultObjectWrapper;

  public void setForceLegacyNonListCollections(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.template.DefaultObjectWrapper this
        start local 1 // boolean forceLegacyNonListCollections
         0: .line 353
            aload 0 /* this */
            invokevirtual freemarker.template.DefaultObjectWrapper.checkModifiable:()V
         1: .line 354
            aload 0 /* this */
            iload 1 /* forceLegacyNonListCollections */
            putfield freemarker.template.DefaultObjectWrapper.forceLegacyNonListCollections:Z
         2: .line 355
            return
        end local 1 // boolean forceLegacyNonListCollections
        end local 0 // freemarker.template.DefaultObjectWrapper this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0    3     0                           this  Lfreemarker/template/DefaultObjectWrapper;
            0    3     1  forceLegacyNonListCollections  Z
    MethodParameters:
                               Name  Flags
      forceLegacyNonListCollections  

  public boolean getIterableSupport();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.DefaultObjectWrapper this
         0: .line 363
            aload 0 /* this */
            getfield freemarker.template.DefaultObjectWrapper.iterableSupport:Z
            ireturn
        end local 0 // freemarker.template.DefaultObjectWrapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/DefaultObjectWrapper;

  public void setIterableSupport(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.template.DefaultObjectWrapper this
        start local 1 // boolean iterableSupport
         0: .line 378
            aload 0 /* this */
            invokevirtual freemarker.template.DefaultObjectWrapper.checkModifiable:()V
         1: .line 379
            aload 0 /* this */
            iload 1 /* iterableSupport */
            putfield freemarker.template.DefaultObjectWrapper.iterableSupport:Z
         2: .line 380
            return
        end local 1 // boolean iterableSupport
        end local 0 // freemarker.template.DefaultObjectWrapper this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lfreemarker/template/DefaultObjectWrapper;
            0    3     1  iterableSupport  Z
    MethodParameters:
                 Name  Flags
      iterableSupport  

  protected static freemarker.template.Version normalizeIncompatibleImprovementsVersion(freemarker.template.Version);
    descriptor: (Lfreemarker/template/Version;)Lfreemarker/template/Version;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // freemarker.template.Version incompatibleImprovements
         0: .line 388
            aload 0 /* incompatibleImprovements */
            invokestatic freemarker.template._TemplateAPI.checkVersionNotNullAndSupported:(Lfreemarker/template/Version;)V
         1: .line 389
            aload 0 /* incompatibleImprovements */
            invokestatic freemarker.ext.beans.BeansWrapper.normalizeIncompatibleImprovementsVersion:(Lfreemarker/template/Version;)Lfreemarker/template/Version;
            astore 1 /* bwIcI */
        start local 1 // freemarker.template.Version bwIcI
         2: .line 390
            aload 0 /* incompatibleImprovements */
            invokevirtual freemarker.template.Version.intValue:()I
            getstatic freemarker.template._TemplateAPI.VERSION_INT_2_3_22:I
            if_icmplt 4
         3: .line 391
            aload 1 /* bwIcI */
            invokevirtual freemarker.template.Version.intValue:()I
            getstatic freemarker.template._TemplateAPI.VERSION_INT_2_3_22:I
            if_icmplt 5
         4: .line 392
      StackMap locals: freemarker.template.Version
      StackMap stack:
            aload 1 /* bwIcI */
            goto 6
      StackMap locals:
      StackMap stack:
         5: getstatic freemarker.template.Configuration.VERSION_2_3_22:Lfreemarker/template/Version;
         6: .line 390
      StackMap locals:
      StackMap stack: freemarker.template.Version
            areturn
        end local 1 // freemarker.template.Version bwIcI
        end local 0 // freemarker.template.Version incompatibleImprovements
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    7     0  incompatibleImprovements  Lfreemarker/template/Version;
            2    7     1                     bwIcI  Lfreemarker/template/Version;
    MethodParameters:
                          Name  Flags
      incompatibleImprovements  

  protected java.lang.String toPropertiesString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // freemarker.template.DefaultObjectWrapper this
         0: .line 400
            aload 0 /* this */
            invokespecial freemarker.ext.beans.BeansWrapper.toPropertiesString:()Ljava/lang/String;
            astore 1 /* bwProps */
        start local 1 // java.lang.String bwProps
         1: .line 403
            aload 1 /* bwProps */
            ldc "simpleMapWrapper"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 5
         2: .line 404
            aload 1 /* bwProps */
            bipush 44
            invokevirtual java.lang.String.indexOf:(I)I
            istore 2 /* smwEnd */
        start local 2 // int smwEnd
         3: .line 405
            iload 2 /* smwEnd */
            iconst_m1
            if_icmpeq 5
         4: .line 406
            aload 1 /* bwProps */
            iload 2 /* smwEnd */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 1 /* bwProps */
        end local 2 // int smwEnd
         5: .line 410
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "useAdaptersForContainers="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield freemarker.template.DefaultObjectWrapper.useAdaptersForContainers:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            ldc ", forceLegacyNonListCollections="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 411
            aload 0 /* this */
            getfield freemarker.template.DefaultObjectWrapper.forceLegacyNonListCollections:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            ldc ", iterableSupport="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield freemarker.template.DefaultObjectWrapper.iterableSupport:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            aload 1 /* bwProps */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 410
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.String bwProps
        end local 0 // freemarker.template.DefaultObjectWrapper this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lfreemarker/template/DefaultObjectWrapper;
            1    8     1  bwProps  Ljava/lang/String;
            3    5     2   smwEnd  I
}
SourceFile: "DefaultObjectWrapper.java"
NestMembers:
  freemarker.template.DefaultObjectWrapper$1  freemarker.template.DefaultObjectWrapper$2
InnerClasses:
  freemarker.template.DefaultObjectWrapper$1
  freemarker.template.DefaultObjectWrapper$2