class freemarker.core.GetOptionalTemplateMethod$1 implements freemarker.template.TemplateDirectiveModel
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: freemarker.core.GetOptionalTemplateMethod$1
  super_class: java.lang.Object
{
  final freemarker.core.GetOptionalTemplateMethod this$0;
    descriptor: Lfreemarker/core/GetOptionalTemplateMethod;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private final freemarker.template.Template val$template;
    descriptor: Lfreemarker/template/Template;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  void <init>(freemarker.core.GetOptionalTemplateMethod, freemarker.template.Template);
    descriptor: (Lfreemarker/core/GetOptionalTemplateMethod;Lfreemarker/template/Template;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // freemarker.core.GetOptionalTemplateMethod$1 this
         0: .line 150
            aload 0 /* this */
            aload 1
            putfield freemarker.core.GetOptionalTemplateMethod$1.this$0:Lfreemarker/core/GetOptionalTemplateMethod;
            aload 0 /* this */
            aload 2
            putfield freemarker.core.GetOptionalTemplateMethod$1.val$template:Lfreemarker/template/Template;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // freemarker.core.GetOptionalTemplateMethod$1 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/GetOptionalTemplateMethod$1;
    MethodParameters:
              Name  Flags
      this$0        final
      val$template  final

  public void execute(freemarker.core.Environment, java.util.Map, freemarker.template.TemplateModel[], freemarker.template.TemplateDirectiveBody);
    descriptor: (Lfreemarker/core/Environment;Ljava/util/Map;[Lfreemarker/template/TemplateModel;Lfreemarker/template/TemplateDirectiveBody;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // freemarker.core.GetOptionalTemplateMethod$1 this
        start local 1 // freemarker.core.Environment env
        start local 2 // java.util.Map params
        start local 3 // freemarker.template.TemplateModel[] loopVars
        start local 4 // freemarker.template.TemplateDirectiveBody body
         0: .line 153
            aload 2 /* params */
            invokeinterface java.util.Map.isEmpty:()Z
            ifne 2
         1: .line 154
            new freemarker.template.TemplateException
            dup
            ldc "This directive supports no parameters."
            aload 1 /* env */
            invokespecial freemarker.template.TemplateException.<init>:(Ljava/lang/String;Lfreemarker/core/Environment;)V
            athrow
         2: .line 156
      StackMap locals:
      StackMap stack:
            aload 3 /* loopVars */
            arraylength
            ifeq 4
         3: .line 157
            new freemarker.template.TemplateException
            dup
            ldc "This directive supports no loop variables."
            aload 1 /* env */
            invokespecial freemarker.template.TemplateException.<init>:(Ljava/lang/String;Lfreemarker/core/Environment;)V
            athrow
         4: .line 159
      StackMap locals:
      StackMap stack:
            aload 4 /* body */
            ifnull 6
         5: .line 160
            new freemarker.template.TemplateException
            dup
            ldc "This directive supports no nested content."
            aload 1 /* env */
            invokespecial freemarker.template.TemplateException.<init>:(Ljava/lang/String;Lfreemarker/core/Environment;)V
            athrow
         6: .line 163
      StackMap locals:
      StackMap stack:
            aload 1 /* env */
            aload 0 /* this */
            getfield freemarker.core.GetOptionalTemplateMethod$1.val$template:Lfreemarker/template/Template;
            invokevirtual freemarker.core.Environment.include:(Lfreemarker/template/Template;)V
         7: .line 164
            return
        end local 4 // freemarker.template.TemplateDirectiveBody body
        end local 3 // freemarker.template.TemplateModel[] loopVars
        end local 2 // java.util.Map params
        end local 1 // freemarker.core.Environment env
        end local 0 // freemarker.core.GetOptionalTemplateMethod$1 this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lfreemarker/core/GetOptionalTemplateMethod$1;
            0    8     1       env  Lfreemarker/core/Environment;
            0    8     2    params  Ljava/util/Map;
            0    8     3  loopVars  [Lfreemarker/template/TemplateModel;
            0    8     4      body  Lfreemarker/template/TemplateDirectiveBody;
    Exceptions:
      throws freemarker.template.TemplateException, java.io.IOException
    MethodParameters:
          Name  Flags
      env       
      params    
      loopVars  
      body      
}
SourceFile: "GetOptionalTemplateMethod.java"
EnclosingMethod: freemarker.core.GetOptionalTemplateMethod.exec:(Ljava/util/List;)Ljava/lang/Object;
NestHost: freemarker.core.GetOptionalTemplateMethod
InnerClasses:
  freemarker.core.GetOptionalTemplateMethod$1