public class freemarker.template.DefaultNonListCollectionAdapter extends freemarker.template.WrappingTemplateModel implements freemarker.template.TemplateCollectionModelEx, freemarker.template.AdapterTemplateModel, freemarker.ext.util.WrapperTemplateModel, freemarker.template.TemplateModelWithAPISupport, java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: freemarker.template.DefaultNonListCollectionAdapter
  super_class: freemarker.template.WrappingTemplateModel
{
  private final java.util.Collection collection;
    descriptor: Ljava/util/Collection;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public static freemarker.template.DefaultNonListCollectionAdapter adapt(java.util.Collection, freemarker.template.utility.ObjectWrapperWithAPISupport);
    descriptor: (Ljava/util/Collection;Lfreemarker/template/utility/ObjectWrapperWithAPISupport;)Lfreemarker/template/DefaultNonListCollectionAdapter;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.Collection collection
        start local 1 // freemarker.template.utility.ObjectWrapperWithAPISupport wrapper
         0: .line 64
            new freemarker.template.DefaultNonListCollectionAdapter
            dup
            aload 0 /* collection */
            aload 1 /* wrapper */
            invokespecial freemarker.template.DefaultNonListCollectionAdapter.<init>:(Ljava/util/Collection;Lfreemarker/template/utility/ObjectWrapperWithAPISupport;)V
            areturn
        end local 1 // freemarker.template.utility.ObjectWrapperWithAPISupport wrapper
        end local 0 // java.util.Collection collection
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  collection  Ljava/util/Collection;
            0    1     1     wrapper  Lfreemarker/template/utility/ObjectWrapperWithAPISupport;
    MethodParameters:
            Name  Flags
      collection  
      wrapper     

  private void <init>(java.util.Collection, freemarker.template.utility.ObjectWrapperWithAPISupport);
    descriptor: (Ljava/util/Collection;Lfreemarker/template/utility/ObjectWrapperWithAPISupport;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // freemarker.template.DefaultNonListCollectionAdapter this
        start local 1 // java.util.Collection collection
        start local 2 // freemarker.template.utility.ObjectWrapperWithAPISupport wrapper
         0: .line 68
            aload 0 /* this */
            aload 2 /* wrapper */
            invokespecial freemarker.template.WrappingTemplateModel.<init>:(Lfreemarker/template/ObjectWrapper;)V
         1: .line 69
            aload 0 /* this */
            aload 1 /* collection */
            putfield freemarker.template.DefaultNonListCollectionAdapter.collection:Ljava/util/Collection;
         2: .line 70
            return
        end local 2 // freemarker.template.utility.ObjectWrapperWithAPISupport wrapper
        end local 1 // java.util.Collection collection
        end local 0 // freemarker.template.DefaultNonListCollectionAdapter this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lfreemarker/template/DefaultNonListCollectionAdapter;
            0    3     1  collection  Ljava/util/Collection;
            0    3     2     wrapper  Lfreemarker/template/utility/ObjectWrapperWithAPISupport;
    MethodParameters:
            Name  Flags
      collection  
      wrapper     

  public freemarker.template.TemplateModelIterator iterator();
    descriptor: ()Lfreemarker/template/TemplateModelIterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // freemarker.template.DefaultNonListCollectionAdapter this
         0: .line 73
            new freemarker.template.IteratorToTemplateModelIteratorAdapter
            dup
            aload 0 /* this */
            getfield freemarker.template.DefaultNonListCollectionAdapter.collection:Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            aload 0 /* this */
            invokevirtual freemarker.template.DefaultNonListCollectionAdapter.getObjectWrapper:()Lfreemarker/template/ObjectWrapper;
            invokespecial freemarker.template.IteratorToTemplateModelIteratorAdapter.<init>:(Ljava/util/Iterator;Lfreemarker/template/ObjectWrapper;)V
            areturn
        end local 0 // freemarker.template.DefaultNonListCollectionAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/DefaultNonListCollectionAdapter;
    Exceptions:
      throws freemarker.template.TemplateModelException

  public int size();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.DefaultNonListCollectionAdapter this
         0: .line 77
            aload 0 /* this */
            getfield freemarker.template.DefaultNonListCollectionAdapter.collection:Ljava/util/Collection;
            invokeinterface java.util.Collection.size:()I
            ireturn
        end local 0 // freemarker.template.DefaultNonListCollectionAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/DefaultNonListCollectionAdapter;

  public boolean isEmpty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.DefaultNonListCollectionAdapter this
         0: .line 81
            aload 0 /* this */
            getfield freemarker.template.DefaultNonListCollectionAdapter.collection:Ljava/util/Collection;
            invokeinterface java.util.Collection.isEmpty:()Z
            ireturn
        end local 0 // freemarker.template.DefaultNonListCollectionAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/DefaultNonListCollectionAdapter;

  public java.lang.Object getWrappedObject();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.DefaultNonListCollectionAdapter this
         0: .line 85
            aload 0 /* this */
            getfield freemarker.template.DefaultNonListCollectionAdapter.collection:Ljava/util/Collection;
            areturn
        end local 0 // freemarker.template.DefaultNonListCollectionAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/DefaultNonListCollectionAdapter;

  public java.lang.Object getAdaptedObject(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // freemarker.template.DefaultNonListCollectionAdapter this
        start local 1 // java.lang.Class hint
         0: .line 89
            aload 0 /* this */
            invokevirtual freemarker.template.DefaultNonListCollectionAdapter.getWrappedObject:()Ljava/lang/Object;
            areturn
        end local 1 // java.lang.Class hint
        end local 0 // freemarker.template.DefaultNonListCollectionAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/DefaultNonListCollectionAdapter;
            0    1     1  hint  Ljava/lang/Class;
    MethodParameters:
      Name  Flags
      hint  

  public boolean contains(freemarker.template.TemplateModel);
    descriptor: (Lfreemarker/template/TemplateModel;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=4, args_size=2
        start local 0 // freemarker.template.DefaultNonListCollectionAdapter this
        start local 1 // freemarker.template.TemplateModel item
         0: .line 93
            aload 0 /* this */
            invokevirtual freemarker.template.DefaultNonListCollectionAdapter.getObjectWrapper:()Lfreemarker/template/ObjectWrapper;
            checkcast freemarker.template.ObjectWrapperAndUnwrapper
            aload 1 /* item */
            invokeinterface freemarker.template.ObjectWrapperAndUnwrapper.unwrap:(Lfreemarker/template/TemplateModel;)Ljava/lang/Object;
            astore 2 /* itemPojo */
        start local 2 // java.lang.Object itemPojo
         1: .line 95
            aload 0 /* this */
            getfield freemarker.template.DefaultNonListCollectionAdapter.collection:Ljava/util/Collection;
            aload 2 /* itemPojo */
            invokeinterface java.util.Collection.contains:(Ljava/lang/Object;)Z
         2: ireturn
         3: .line 96
      StackMap locals: freemarker.template.DefaultNonListCollectionAdapter freemarker.template.TemplateModel java.lang.Object
      StackMap stack: java.lang.ClassCastException
            astore 3 /* e */
        start local 3 // java.lang.ClassCastException e
         4: .line 97
            new freemarker.core._TemplateModelException
            dup
            aload 3 /* e */
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         5: .line 98
            ldc "Failed to check if the collection contains the item. Probably the item's Java type, "
            aastore
            dup
            iconst_1
         6: .line 99
            aload 2 /* itemPojo */
            ifnull 7
            new freemarker.core._DelayedShortClassName
            dup
            aload 2 /* itemPojo */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokespecial freemarker.core._DelayedShortClassName.<init>:(Ljava/lang/Class;)V
            goto 8
      StackMap locals: freemarker.template.DefaultNonListCollectionAdapter freemarker.template.TemplateModel java.lang.Object java.lang.ClassCastException
      StackMap stack: new 4 new 4 java.lang.ClassCastException java.lang.Object[] java.lang.Object[] int
         7: ldc "Null"
      StackMap locals: freemarker.template.DefaultNonListCollectionAdapter freemarker.template.TemplateModel java.lang.Object java.lang.ClassCastException
      StackMap stack: new 4 new 4 java.lang.ClassCastException java.lang.Object[] java.lang.Object[] int java.lang.Object
         8: aastore
            dup
            iconst_2
         9: .line 100
            ldc ", doesn't match the type of (some of) the collection items; see cause exception."
        10: .line 97
            aastore
            invokespecial freemarker.core._TemplateModelException.<init>:(Ljava/lang/Throwable;[Ljava/lang/Object;)V
            athrow
        end local 3 // java.lang.ClassCastException e
        end local 2 // java.lang.Object itemPojo
        end local 1 // freemarker.template.TemplateModel item
        end local 0 // freemarker.template.DefaultNonListCollectionAdapter this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lfreemarker/template/DefaultNonListCollectionAdapter;
            0   11     1      item  Lfreemarker/template/TemplateModel;
            1   11     2  itemPojo  Ljava/lang/Object;
            4   11     3         e  Ljava/lang/ClassCastException;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.ClassCastException
    Exceptions:
      throws freemarker.template.TemplateModelException
    MethodParameters:
      Name  Flags
      item  

  public freemarker.template.TemplateModel getAPI();
    descriptor: ()Lfreemarker/template/TemplateModel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // freemarker.template.DefaultNonListCollectionAdapter this
         0: .line 105
            aload 0 /* this */
            invokevirtual freemarker.template.DefaultNonListCollectionAdapter.getObjectWrapper:()Lfreemarker/template/ObjectWrapper;
            checkcast freemarker.template.utility.ObjectWrapperWithAPISupport
            aload 0 /* this */
            getfield freemarker.template.DefaultNonListCollectionAdapter.collection:Ljava/util/Collection;
            invokeinterface freemarker.template.utility.ObjectWrapperWithAPISupport.wrapAsAPI:(Ljava/lang/Object;)Lfreemarker/template/TemplateHashModel;
            areturn
        end local 0 // freemarker.template.DefaultNonListCollectionAdapter this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/DefaultNonListCollectionAdapter;
    Exceptions:
      throws freemarker.template.TemplateModelException
}
SourceFile: "DefaultNonListCollectionAdapter.java"