public abstract class freemarker.template.DefaultArrayAdapter extends freemarker.template.WrappingTemplateModel implements freemarker.template.TemplateSequenceModel, freemarker.template.AdapterTemplateModel, freemarker.ext.util.WrapperTemplateModel, java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: freemarker.template.DefaultArrayAdapter
  super_class: freemarker.template.WrappingTemplateModel
{
  public static freemarker.template.DefaultArrayAdapter adapt(java.lang.Object, freemarker.template.ObjectWrapperAndUnwrapper);
    descriptor: (Ljava/lang/Object;Lfreemarker/template/ObjectWrapperAndUnwrapper;)Lfreemarker/template/DefaultArrayAdapter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.lang.Object array
        start local 1 // freemarker.template.ObjectWrapperAndUnwrapper wrapper
         0: .line 60
            aload 0 /* array */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            astore 2 /* componentType */
        start local 2 // java.lang.Class componentType
         1: .line 61
            aload 2 /* componentType */
            ifnonnull 3
         2: .line 62
            new java.lang.IllegalArgumentException
            dup
            ldc "Not an array"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 65
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 2 /* componentType */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 21
         4: .line 66
            aload 2 /* componentType */
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            if_acmpne 6
         5: .line 67
            new freemarker.template.DefaultArrayAdapter$IntArrayAdapter
            dup
            aload 0 /* array */
            checkcast int[]
            aload 1 /* wrapper */
            invokespecial freemarker.template.DefaultArrayAdapter$IntArrayAdapter.<init>:([ILfreemarker/template/ObjectWrapper;)V
            areturn
         6: .line 69
      StackMap locals:
      StackMap stack:
            aload 2 /* componentType */
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            if_acmpne 8
         7: .line 70
            new freemarker.template.DefaultArrayAdapter$DoubleArrayAdapter
            dup
            aload 0 /* array */
            checkcast double[]
            aload 1 /* wrapper */
            invokespecial freemarker.template.DefaultArrayAdapter$DoubleArrayAdapter.<init>:([DLfreemarker/template/ObjectWrapper;)V
            areturn
         8: .line 72
      StackMap locals:
      StackMap stack:
            aload 2 /* componentType */
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            if_acmpne 10
         9: .line 73
            new freemarker.template.DefaultArrayAdapter$LongArrayAdapter
            dup
            aload 0 /* array */
            checkcast long[]
            aload 1 /* wrapper */
            invokespecial freemarker.template.DefaultArrayAdapter$LongArrayAdapter.<init>:([JLfreemarker/template/ObjectWrapper;)V
            areturn
        10: .line 75
      StackMap locals:
      StackMap stack:
            aload 2 /* componentType */
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            if_acmpne 12
        11: .line 76
            new freemarker.template.DefaultArrayAdapter$BooleanArrayAdapter
            dup
            aload 0 /* array */
            checkcast boolean[]
            aload 1 /* wrapper */
            invokespecial freemarker.template.DefaultArrayAdapter$BooleanArrayAdapter.<init>:([ZLfreemarker/template/ObjectWrapper;)V
            areturn
        12: .line 78
      StackMap locals:
      StackMap stack:
            aload 2 /* componentType */
            getstatic java.lang.Float.TYPE:Ljava/lang/Class;
            if_acmpne 14
        13: .line 79
            new freemarker.template.DefaultArrayAdapter$FloatArrayAdapter
            dup
            aload 0 /* array */
            checkcast float[]
            aload 1 /* wrapper */
            invokespecial freemarker.template.DefaultArrayAdapter$FloatArrayAdapter.<init>:([FLfreemarker/template/ObjectWrapper;)V
            areturn
        14: .line 81
      StackMap locals:
      StackMap stack:
            aload 2 /* componentType */
            getstatic java.lang.Character.TYPE:Ljava/lang/Class;
            if_acmpne 16
        15: .line 82
            new freemarker.template.DefaultArrayAdapter$CharArrayAdapter
            dup
            aload 0 /* array */
            checkcast char[]
            aload 1 /* wrapper */
            invokespecial freemarker.template.DefaultArrayAdapter$CharArrayAdapter.<init>:([CLfreemarker/template/ObjectWrapper;)V
            areturn
        16: .line 84
      StackMap locals:
      StackMap stack:
            aload 2 /* componentType */
            getstatic java.lang.Short.TYPE:Ljava/lang/Class;
            if_acmpne 18
        17: .line 85
            new freemarker.template.DefaultArrayAdapter$ShortArrayAdapter
            dup
            aload 0 /* array */
            checkcast short[]
            aload 1 /* wrapper */
            invokespecial freemarker.template.DefaultArrayAdapter$ShortArrayAdapter.<init>:([SLfreemarker/template/ObjectWrapper;)V
            areturn
        18: .line 87
      StackMap locals:
      StackMap stack:
            aload 2 /* componentType */
            getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
            if_acmpne 20
        19: .line 88
            new freemarker.template.DefaultArrayAdapter$ByteArrayAdapter
            dup
            aload 0 /* array */
            checkcast byte[]
            aload 1 /* wrapper */
            invokespecial freemarker.template.DefaultArrayAdapter$ByteArrayAdapter.<init>:([BLfreemarker/template/ObjectWrapper;)V
            areturn
        20: .line 90
      StackMap locals:
      StackMap stack:
            new freemarker.template.DefaultArrayAdapter$GenericPrimitiveArrayAdapter
            dup
            aload 0 /* array */
            aload 1 /* wrapper */
            invokespecial freemarker.template.DefaultArrayAdapter$GenericPrimitiveArrayAdapter.<init>:(Ljava/lang/Object;Lfreemarker/template/ObjectWrapper;)V
            areturn
        21: .line 92
      StackMap locals:
      StackMap stack:
            new freemarker.template.DefaultArrayAdapter$ObjectArrayAdapter
            dup
            aload 0 /* array */
            checkcast java.lang.Object[]
            aload 1 /* wrapper */
            invokespecial freemarker.template.DefaultArrayAdapter$ObjectArrayAdapter.<init>:([Ljava/lang/Object;Lfreemarker/template/ObjectWrapper;)V
            areturn
        end local 2 // java.lang.Class componentType
        end local 1 // freemarker.template.ObjectWrapperAndUnwrapper wrapper
        end local 0 // java.lang.Object array
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   22     0          array  Ljava/lang/Object;
            0   22     1        wrapper  Lfreemarker/template/ObjectWrapperAndUnwrapper;
            1   22     2  componentType  Ljava/lang/Class;
    MethodParameters:
         Name  Flags
      array    
      wrapper  

  private void <init>(freemarker.template.ObjectWrapper);
    descriptor: (Lfreemarker/template/ObjectWrapper;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.template.DefaultArrayAdapter this
        start local 1 // freemarker.template.ObjectWrapper wrapper
         0: .line 97
            aload 0 /* this */
            aload 1 /* wrapper */
            invokespecial freemarker.template.WrappingTemplateModel.<init>:(Lfreemarker/template/ObjectWrapper;)V
         1: .line 98
            return
        end local 1 // freemarker.template.ObjectWrapper wrapper
        end local 0 // freemarker.template.DefaultArrayAdapter this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lfreemarker/template/DefaultArrayAdapter;
            0    2     1  wrapper  Lfreemarker/template/ObjectWrapper;
    MethodParameters:
         Name  Flags
      wrapper  

  public final java.lang.Object getAdaptedObject(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // freemarker.template.DefaultArrayAdapter this
        start local 1 // java.lang.Class hint
         0: .line 101
            aload 0 /* this */
            invokevirtual freemarker.template.DefaultArrayAdapter.getWrappedObject:()Ljava/lang/Object;
            areturn
        end local 1 // java.lang.Class hint
        end local 0 // freemarker.template.DefaultArrayAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/DefaultArrayAdapter;
            0    1     1  hint  Ljava/lang/Class;
    MethodParameters:
      Name  Flags
      hint  
}
SourceFile: "DefaultArrayAdapter.java"
NestMembers:
  freemarker.template.DefaultArrayAdapter$BooleanArrayAdapter  freemarker.template.DefaultArrayAdapter$ByteArrayAdapter  freemarker.template.DefaultArrayAdapter$CharArrayAdapter  freemarker.template.DefaultArrayAdapter$DoubleArrayAdapter  freemarker.template.DefaultArrayAdapter$FloatArrayAdapter  freemarker.template.DefaultArrayAdapter$GenericPrimitiveArrayAdapter  freemarker.template.DefaultArrayAdapter$IntArrayAdapter  freemarker.template.DefaultArrayAdapter$LongArrayAdapter  freemarker.template.DefaultArrayAdapter$ObjectArrayAdapter  freemarker.template.DefaultArrayAdapter$ShortArrayAdapter
InnerClasses:
  private BooleanArrayAdapter = freemarker.template.DefaultArrayAdapter$BooleanArrayAdapter of freemarker.template.DefaultArrayAdapter
  private ByteArrayAdapter = freemarker.template.DefaultArrayAdapter$ByteArrayAdapter of freemarker.template.DefaultArrayAdapter
  private CharArrayAdapter = freemarker.template.DefaultArrayAdapter$CharArrayAdapter of freemarker.template.DefaultArrayAdapter
  private DoubleArrayAdapter = freemarker.template.DefaultArrayAdapter$DoubleArrayAdapter of freemarker.template.DefaultArrayAdapter
  private FloatArrayAdapter = freemarker.template.DefaultArrayAdapter$FloatArrayAdapter of freemarker.template.DefaultArrayAdapter
  private GenericPrimitiveArrayAdapter = freemarker.template.DefaultArrayAdapter$GenericPrimitiveArrayAdapter of freemarker.template.DefaultArrayAdapter
  private IntArrayAdapter = freemarker.template.DefaultArrayAdapter$IntArrayAdapter of freemarker.template.DefaultArrayAdapter
  private LongArrayAdapter = freemarker.template.DefaultArrayAdapter$LongArrayAdapter of freemarker.template.DefaultArrayAdapter
  private ObjectArrayAdapter = freemarker.template.DefaultArrayAdapter$ObjectArrayAdapter of freemarker.template.DefaultArrayAdapter
  private ShortArrayAdapter = freemarker.template.DefaultArrayAdapter$ShortArrayAdapter of freemarker.template.DefaultArrayAdapter