public class org.eclipse.jdt.internal.core.manipulation.StubUtility
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.eclipse.jdt.internal.core.manipulation.StubUtility
  super_class: java.lang.Object
{
  private static final java.lang.String[] EMPTY;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.Set<java.lang.String> VALID_TYPE_BODY_TEMPLATES;
    descriptor: Ljava/util/Set;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  public static final java.lang.String CODEGEN_KEYWORD_THIS;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.ui.keywordthis"

  public static final java.lang.String CODEGEN_IS_FOR_GETTERS;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.ui.gettersetter.use.is"

  public static final java.lang.String CODEGEN_EXCEPTION_VAR_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.ui.exception.name"

  public static final java.lang.String CODEGEN_ADD_COMMENTS;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "org.eclipse.jdt.ui.javadoc"

  private static final java.lang.String[] KNOWN_METHOD_NAME_PREFIXES;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 121
            iconst_0
            anewarray java.lang.String
            putstatic org.eclipse.jdt.internal.core.manipulation.StubUtility.EMPTY:[Ljava/lang/String;
         1: .line 125
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putstatic org.eclipse.jdt.internal.core.manipulation.StubUtility.VALID_TYPE_BODY_TEMPLATES:Ljava/util/Set;
         2: .line 126
            getstatic org.eclipse.jdt.internal.core.manipulation.StubUtility.VALID_TYPE_BODY_TEMPLATES:Ljava/util/Set;
            ldc "org.eclipse.jdt.ui.text.codetemplates.classbody"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         3: .line 127
            getstatic org.eclipse.jdt.internal.core.manipulation.StubUtility.VALID_TYPE_BODY_TEMPLATES:Ljava/util/Set;
            ldc "org.eclipse.jdt.ui.text.codetemplates.interfacebody"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         4: .line 128
            getstatic org.eclipse.jdt.internal.core.manipulation.StubUtility.VALID_TYPE_BODY_TEMPLATES:Ljava/util/Set;
            ldc "org.eclipse.jdt.ui.text.codetemplates.enumbody"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         5: .line 129
            getstatic org.eclipse.jdt.internal.core.manipulation.StubUtility.VALID_TYPE_BODY_TEMPLATES:Ljava/util/Set;
            ldc "org.eclipse.jdt.ui.text.codetemplates.annotationbody"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         6: .line 1147
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "get"
            aastore
            dup
            iconst_1
            ldc "is"
            aastore
            dup
            iconst_2
            ldc "to"
            aastore
            putstatic org.eclipse.jdt.internal.core.manipulation.StubUtility.KNOWN_METHOD_NAME_PREFIXES:[Ljava/lang/String;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.internal.core.manipulation.StubUtility this
         0: .line 119
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.eclipse.jdt.internal.core.manipulation.StubUtility this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/internal/core/manipulation/StubUtility;

  public static java.lang.String getMethodBodyContent(boolean, org.eclipse.jdt.core.IJavaProject, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (ZLorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=10, args_size=6
        start local 0 // boolean isConstructor
        start local 1 // org.eclipse.jdt.core.IJavaProject project
        start local 2 // java.lang.String destTypeName
        start local 3 // java.lang.String methodName
        start local 4 // java.lang.String bodyStatement
        start local 5 // java.lang.String lineDelimiter
         0: .line 142
            iload 0 /* isConstructor */
            ifeq 1
            ldc "org.eclipse.jdt.ui.text.codetemplates.constructorbody"
            goto 2
      StackMap locals:
      StackMap stack:
         1: ldc "org.eclipse.jdt.ui.text.codetemplates.methodbody"
      StackMap locals:
      StackMap stack: java.lang.String
         2: astore 6 /* templateName */
        start local 6 // java.lang.String templateName
         3: .line 143
            aload 6 /* templateName */
            aload 1 /* project */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getCodeTemplate:(Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jface/text/templates/Template;
            astore 7 /* template */
        start local 7 // org.eclipse.jface.text.templates.Template template
         4: .line 144
            aload 7 /* template */
            ifnonnull 6
         5: .line 145
            aload 4 /* bodyStatement */
            areturn
         6: .line 147
      StackMap locals: java.lang.String org.eclipse.jface.text.templates.Template
      StackMap stack:
            new org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext
            dup
            aload 7 /* template */
            invokevirtual org.eclipse.jface.text.templates.Template.getContextTypeId:()Ljava/lang/String;
            aload 1 /* project */
            aload 5 /* lineDelimiter */
            invokespecial org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.<init>:(Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;)V
            astore 8 /* context */
        start local 8 // org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext context
         7: .line 148
            aload 8 /* context */
            ldc "enclosing_method"
            aload 3 /* methodName */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
         8: .line 149
            aload 8 /* context */
            ldc "enclosing_type"
            aload 2 /* destTypeName */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
         9: .line 150
            aload 8 /* context */
            ldc "body_statement"
            aload 4 /* bodyStatement */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
        10: .line 151
            aload 8 /* context */
            aload 7 /* template */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            ldc "body_statement"
            aastore
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.evaluateTemplate:(Lorg/eclipse/jdt/internal/core/manipulation/CodeTemplateContext;Lorg/eclipse/jface/text/templates/Template;[Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* str */
        start local 9 // java.lang.String str
        11: .line 152
            aload 9 /* str */
            ifnonnull 13
            aload 4 /* bodyStatement */
            invokestatic org.eclipse.jdt.internal.core.manipulation.util.Strings.containsOnlyWhitespaces:(Ljava/lang/String;)Z
            ifne 13
        12: .line 153
            aload 4 /* bodyStatement */
            areturn
        13: .line 155
      StackMap locals: org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext java.lang.String
      StackMap stack:
            aload 9 /* str */
            areturn
        end local 9 // java.lang.String str
        end local 8 // org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext context
        end local 7 // org.eclipse.jface.text.templates.Template template
        end local 6 // java.lang.String templateName
        end local 5 // java.lang.String lineDelimiter
        end local 4 // java.lang.String bodyStatement
        end local 3 // java.lang.String methodName
        end local 2 // java.lang.String destTypeName
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // boolean isConstructor
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   14     0  isConstructor  Z
            0   14     1        project  Lorg/eclipse/jdt/core/IJavaProject;
            0   14     2   destTypeName  Ljava/lang/String;
            0   14     3     methodName  Ljava/lang/String;
            0   14     4  bodyStatement  Ljava/lang/String;
            0   14     5  lineDelimiter  Ljava/lang/String;
            3   14     6   templateName  Ljava/lang/String;
            4   14     7       template  Lorg/eclipse/jface/text/templates/Template;
            7   14     8        context  Lorg/eclipse/jdt/internal/core/manipulation/CodeTemplateContext;
           11   14     9            str  Ljava/lang/String;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
               Name  Flags
      isConstructor  
      project        
      destTypeName   
      methodName     
      bodyStatement  
      lineDelimiter  

  public static java.lang.String getGetterMethodBodyContent(org.eclipse.jdt.core.IJavaProject, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=5
        start local 0 // org.eclipse.jdt.core.IJavaProject project
        start local 1 // java.lang.String destTypeName
        start local 2 // java.lang.String methodName
        start local 3 // java.lang.String fieldName
        start local 4 // java.lang.String lineDelimiter
         0: .line 162
            ldc "org.eclipse.jdt.ui.text.codetemplates.getterbody"
            astore 5 /* templateName */
        start local 5 // java.lang.String templateName
         1: .line 163
            aload 5 /* templateName */
            aload 0 /* project */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getCodeTemplate:(Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jface/text/templates/Template;
            astore 6 /* template */
        start local 6 // org.eclipse.jface.text.templates.Template template
         2: .line 164
            aload 6 /* template */
            ifnonnull 4
         3: .line 165
            aconst_null
            areturn
         4: .line 167
      StackMap locals: java.lang.String org.eclipse.jface.text.templates.Template
      StackMap stack:
            new org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext
            dup
            aload 6 /* template */
            invokevirtual org.eclipse.jface.text.templates.Template.getContextTypeId:()Ljava/lang/String;
            aload 0 /* project */
            aload 4 /* lineDelimiter */
            invokespecial org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.<init>:(Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;)V
            astore 7 /* context */
        start local 7 // org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext context
         5: .line 168
            aload 7 /* context */
            ldc "enclosing_method"
            aload 2 /* methodName */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
         6: .line 169
            aload 7 /* context */
            ldc "enclosing_type"
            aload 1 /* destTypeName */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
         7: .line 170
            aload 7 /* context */
            ldc "field"
            aload 3 /* fieldName */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
         8: .line 172
            aload 7 /* context */
            aload 6 /* template */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.evaluateTemplate:(Lorg/eclipse/jdt/internal/core/manipulation/CodeTemplateContext;Lorg/eclipse/jface/text/templates/Template;)Ljava/lang/String;
            areturn
        end local 7 // org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext context
        end local 6 // org.eclipse.jface.text.templates.Template template
        end local 5 // java.lang.String templateName
        end local 4 // java.lang.String lineDelimiter
        end local 3 // java.lang.String fieldName
        end local 2 // java.lang.String methodName
        end local 1 // java.lang.String destTypeName
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0        project  Lorg/eclipse/jdt/core/IJavaProject;
            0    9     1   destTypeName  Ljava/lang/String;
            0    9     2     methodName  Ljava/lang/String;
            0    9     3      fieldName  Ljava/lang/String;
            0    9     4  lineDelimiter  Ljava/lang/String;
            1    9     5   templateName  Ljava/lang/String;
            2    9     6       template  Lorg/eclipse/jface/text/templates/Template;
            5    9     7        context  Lorg/eclipse/jdt/internal/core/manipulation/CodeTemplateContext;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
               Name  Flags
      project        
      destTypeName   
      methodName     
      fieldName      
      lineDelimiter  

  public static java.lang.String getSetterMethodBodyContent(org.eclipse.jdt.core.IJavaProject, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=6
        start local 0 // org.eclipse.jdt.core.IJavaProject project
        start local 1 // java.lang.String destTypeName
        start local 2 // java.lang.String methodName
        start local 3 // java.lang.String fieldName
        start local 4 // java.lang.String paramName
        start local 5 // java.lang.String lineDelimiter
         0: .line 179
            ldc "org.eclipse.jdt.ui.text.codetemplates.setterbody"
            astore 6 /* templateName */
        start local 6 // java.lang.String templateName
         1: .line 180
            aload 6 /* templateName */
            aload 0 /* project */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getCodeTemplate:(Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jface/text/templates/Template;
            astore 7 /* template */
        start local 7 // org.eclipse.jface.text.templates.Template template
         2: .line 181
            aload 7 /* template */
            ifnonnull 4
         3: .line 182
            aconst_null
            areturn
         4: .line 184
      StackMap locals: java.lang.String org.eclipse.jface.text.templates.Template
      StackMap stack:
            new org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext
            dup
            aload 7 /* template */
            invokevirtual org.eclipse.jface.text.templates.Template.getContextTypeId:()Ljava/lang/String;
            aload 0 /* project */
            aload 5 /* lineDelimiter */
            invokespecial org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.<init>:(Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;)V
            astore 8 /* context */
        start local 8 // org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext context
         5: .line 185
            aload 8 /* context */
            ldc "enclosing_method"
            aload 2 /* methodName */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
         6: .line 186
            aload 8 /* context */
            ldc "enclosing_type"
            aload 1 /* destTypeName */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
         7: .line 187
            aload 8 /* context */
            ldc "field"
            aload 3 /* fieldName */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
         8: .line 188
            aload 8 /* context */
            ldc "field_type"
            aload 3 /* fieldName */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
         9: .line 189
            aload 8 /* context */
            ldc "param"
            aload 4 /* paramName */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
        10: .line 191
            aload 8 /* context */
            aload 7 /* template */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.evaluateTemplate:(Lorg/eclipse/jdt/internal/core/manipulation/CodeTemplateContext;Lorg/eclipse/jface/text/templates/Template;)Ljava/lang/String;
            areturn
        end local 8 // org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext context
        end local 7 // org.eclipse.jface.text.templates.Template template
        end local 6 // java.lang.String templateName
        end local 5 // java.lang.String lineDelimiter
        end local 4 // java.lang.String paramName
        end local 3 // java.lang.String fieldName
        end local 2 // java.lang.String methodName
        end local 1 // java.lang.String destTypeName
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0        project  Lorg/eclipse/jdt/core/IJavaProject;
            0   11     1   destTypeName  Ljava/lang/String;
            0   11     2     methodName  Ljava/lang/String;
            0   11     3      fieldName  Ljava/lang/String;
            0   11     4      paramName  Ljava/lang/String;
            0   11     5  lineDelimiter  Ljava/lang/String;
            1   11     6   templateName  Ljava/lang/String;
            2   11     7       template  Lorg/eclipse/jface/text/templates/Template;
            5   11     8        context  Lorg/eclipse/jdt/internal/core/manipulation/CodeTemplateContext;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
               Name  Flags
      project        
      destTypeName   
      methodName     
      fieldName      
      paramName      
      lineDelimiter  

  public static java.lang.String getCatchBodyContent(org.eclipse.jdt.core.ICompilationUnit, java.lang.String, java.lang.String, org.eclipse.jdt.core.dom.ASTNode, java.lang.String);
    descriptor: (Lorg/eclipse/jdt/core/ICompilationUnit;Ljava/lang/String;Ljava/lang/String;Lorg/eclipse/jdt/core/dom/ASTNode;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=9, args_size=5
        start local 0 // org.eclipse.jdt.core.ICompilationUnit cu
        start local 1 // java.lang.String exceptionType
        start local 2 // java.lang.String variableName
        start local 3 // org.eclipse.jdt.core.dom.ASTNode locationInAST
        start local 4 // java.lang.String lineDelimiter
         0: .line 195
            ldc ""
            astore 5 /* enclosingType */
        start local 5 // java.lang.String enclosingType
         1: .line 196
            ldc ""
            astore 6 /* enclosingMethod */
        start local 6 // java.lang.String enclosingMethod
         2: .line 198
            aload 3 /* locationInAST */
            ifnull 10
         3: .line 199
            aload 3 /* locationInAST */
            invokestatic org.eclipse.jdt.internal.core.manipulation.dom.ASTResolving.findParentMethodDeclaration:(Lorg/eclipse/jdt/core/dom/ASTNode;)Lorg/eclipse/jdt/core/dom/MethodDeclaration;
            astore 7 /* parentMethod */
        start local 7 // org.eclipse.jdt.core.dom.MethodDeclaration parentMethod
         4: .line 200
            aload 7 /* parentMethod */
            ifnull 7
         5: .line 201
            aload 7 /* parentMethod */
            invokevirtual org.eclipse.jdt.core.dom.MethodDeclaration.getName:()Lorg/eclipse/jdt/core/dom/SimpleName;
            invokevirtual org.eclipse.jdt.core.dom.SimpleName.getIdentifier:()Ljava/lang/String;
            astore 6 /* enclosingMethod */
         6: .line 202
            aload 7 /* parentMethod */
            astore 3 /* locationInAST */
         7: .line 204
      StackMap locals: java.lang.String java.lang.String org.eclipse.jdt.core.dom.MethodDeclaration
      StackMap stack:
            aload 3 /* locationInAST */
            invokestatic org.eclipse.jdt.internal.core.manipulation.dom.ASTResolving.findParentType:(Lorg/eclipse/jdt/core/dom/ASTNode;)Lorg/eclipse/jdt/core/dom/ASTNode;
            astore 8 /* parentType */
        start local 8 // org.eclipse.jdt.core.dom.ASTNode parentType
         8: .line 205
            aload 8 /* parentType */
            instanceof org.eclipse.jdt.core.dom.AbstractTypeDeclaration
            ifeq 10
         9: .line 206
            aload 8 /* parentType */
            checkcast org.eclipse.jdt.core.dom.AbstractTypeDeclaration
            invokevirtual org.eclipse.jdt.core.dom.AbstractTypeDeclaration.getName:()Lorg/eclipse/jdt/core/dom/SimpleName;
            invokevirtual org.eclipse.jdt.core.dom.SimpleName.getIdentifier:()Ljava/lang/String;
            astore 5 /* enclosingType */
        end local 8 // org.eclipse.jdt.core.dom.ASTNode parentType
        end local 7 // org.eclipse.jdt.core.dom.MethodDeclaration parentMethod
        10: .line 209
      StackMap locals:
      StackMap stack:
            aload 0 /* cu */
            aload 1 /* exceptionType */
            aload 2 /* variableName */
            aload 5 /* enclosingType */
            aload 6 /* enclosingMethod */
            aload 4 /* lineDelimiter */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getCatchBodyContent:(Lorg/eclipse/jdt/core/ICompilationUnit;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 6 // java.lang.String enclosingMethod
        end local 5 // java.lang.String enclosingType
        end local 4 // java.lang.String lineDelimiter
        end local 3 // org.eclipse.jdt.core.dom.ASTNode locationInAST
        end local 2 // java.lang.String variableName
        end local 1 // java.lang.String exceptionType
        end local 0 // org.eclipse.jdt.core.ICompilationUnit cu
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   11     0               cu  Lorg/eclipse/jdt/core/ICompilationUnit;
            0   11     1    exceptionType  Ljava/lang/String;
            0   11     2     variableName  Ljava/lang/String;
            0   11     3    locationInAST  Lorg/eclipse/jdt/core/dom/ASTNode;
            0   11     4    lineDelimiter  Ljava/lang/String;
            1   11     5    enclosingType  Ljava/lang/String;
            2   11     6  enclosingMethod  Ljava/lang/String;
            4   10     7     parentMethod  Lorg/eclipse/jdt/core/dom/MethodDeclaration;
            8   10     8       parentType  Lorg/eclipse/jdt/core/dom/ASTNode;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
               Name  Flags
      cu             
      exceptionType  
      variableName   
      locationInAST  
      lineDelimiter  

  public static java.lang.String getCatchBodyContent(org.eclipse.jdt.core.ICompilationUnit, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Lorg/eclipse/jdt/core/ICompilationUnit;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=6
        start local 0 // org.eclipse.jdt.core.ICompilationUnit cu
        start local 1 // java.lang.String exceptionType
        start local 2 // java.lang.String variableName
        start local 3 // java.lang.String enclosingType
        start local 4 // java.lang.String enclosingMethod
        start local 5 // java.lang.String lineDelimiter
         0: .line 214
            ldc "org.eclipse.jdt.ui.text.codetemplates.catchblock"
            aload 0 /* cu */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getCodeTemplate:(Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jface/text/templates/Template;
            astore 6 /* template */
        start local 6 // org.eclipse.jface.text.templates.Template template
         1: .line 215
            aload 6 /* template */
            ifnonnull 3
         2: .line 216
            aconst_null
            areturn
         3: .line 219
      StackMap locals: org.eclipse.jface.text.templates.Template
      StackMap stack:
            new org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext
            dup
            aload 6 /* template */
            invokevirtual org.eclipse.jface.text.templates.Template.getContextTypeId:()Ljava/lang/String;
            aload 0 /* cu */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            aload 5 /* lineDelimiter */
            invokespecial org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.<init>:(Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;)V
            astore 7 /* context */
        start local 7 // org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext context
         4: .line 220
            aload 7 /* context */
            ldc "enclosing_type"
            aload 3 /* enclosingType */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
         5: .line 221
            aload 7 /* context */
            ldc "enclosing_method"
            aload 4 /* enclosingMethod */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
         6: .line 222
            aload 7 /* context */
            ldc "exception_type"
            aload 1 /* exceptionType */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
         7: .line 223
            aload 7 /* context */
            ldc "exception_var"
            aload 2 /* variableName */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
         8: .line 224
            aload 7 /* context */
            aload 6 /* template */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.evaluateTemplate:(Lorg/eclipse/jdt/internal/core/manipulation/CodeTemplateContext;Lorg/eclipse/jface/text/templates/Template;)Ljava/lang/String;
            areturn
        end local 7 // org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext context
        end local 6 // org.eclipse.jface.text.templates.Template template
        end local 5 // java.lang.String lineDelimiter
        end local 4 // java.lang.String enclosingMethod
        end local 3 // java.lang.String enclosingType
        end local 2 // java.lang.String variableName
        end local 1 // java.lang.String exceptionType
        end local 0 // org.eclipse.jdt.core.ICompilationUnit cu
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    9     0               cu  Lorg/eclipse/jdt/core/ICompilationUnit;
            0    9     1    exceptionType  Ljava/lang/String;
            0    9     2     variableName  Ljava/lang/String;
            0    9     3    enclosingType  Ljava/lang/String;
            0    9     4  enclosingMethod  Ljava/lang/String;
            0    9     5    lineDelimiter  Ljava/lang/String;
            1    9     6         template  Lorg/eclipse/jface/text/templates/Template;
            4    9     7          context  Lorg/eclipse/jdt/internal/core/manipulation/CodeTemplateContext;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
                 Name  Flags
      cu               
      exceptionType    
      variableName     
      enclosingType    
      enclosingMethod  
      lineDelimiter    

  public static java.lang.String getCompilationUnitContent(org.eclipse.jdt.core.ICompilationUnit, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Lorg/eclipse/jdt/core/ICompilationUnit;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=5
        start local 0 // org.eclipse.jdt.core.ICompilationUnit cu
        start local 1 // java.lang.String fileComment
        start local 2 // java.lang.String typeComment
        start local 3 // java.lang.String typeContent
        start local 4 // java.lang.String lineDelimiter
         0: .line 232
            aload 0 /* cu */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.core.IPackageFragment
            astore 5 /* pack */
        start local 5 // org.eclipse.jdt.core.IPackageFragment pack
         1: .line 233
            aload 5 /* pack */
            invokeinterface org.eclipse.jdt.core.IPackageFragment.isDefaultPackage:()Z
            ifeq 2
            ldc ""
            goto 3
      StackMap locals: org.eclipse.jdt.core.IPackageFragment
      StackMap stack:
         2: new java.lang.StringBuilder
            dup
            ldc "package "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* pack */
            invokeinterface org.eclipse.jdt.core.IPackageFragment.getElementName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 59
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         3: astore 6 /* packDecl */
        start local 6 // java.lang.String packDecl
         4: .line 234
            aload 0 /* cu */
            aload 6 /* packDecl */
            aload 1 /* fileComment */
            aload 2 /* typeComment */
            aload 3 /* typeContent */
            aload 4 /* lineDelimiter */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getCompilationUnitContent:(Lorg/eclipse/jdt/core/ICompilationUnit;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 6 // java.lang.String packDecl
        end local 5 // org.eclipse.jdt.core.IPackageFragment pack
        end local 4 // java.lang.String lineDelimiter
        end local 3 // java.lang.String typeContent
        end local 2 // java.lang.String typeComment
        end local 1 // java.lang.String fileComment
        end local 0 // org.eclipse.jdt.core.ICompilationUnit cu
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0             cu  Lorg/eclipse/jdt/core/ICompilationUnit;
            0    5     1    fileComment  Ljava/lang/String;
            0    5     2    typeComment  Ljava/lang/String;
            0    5     3    typeContent  Ljava/lang/String;
            0    5     4  lineDelimiter  Ljava/lang/String;
            1    5     5           pack  Lorg/eclipse/jdt/core/IPackageFragment;
            4    5     6       packDecl  Ljava/lang/String;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
               Name  Flags
      cu             
      fileComment    
      typeComment    
      typeContent    
      lineDelimiter  

  public static java.lang.String getCompilationUnitContent(org.eclipse.jdt.core.ICompilationUnit, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Lorg/eclipse/jdt/core/ICompilationUnit;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=6
        start local 0 // org.eclipse.jdt.core.ICompilationUnit cu
        start local 1 // java.lang.String packDecl
        start local 2 // java.lang.String fileComment
        start local 3 // java.lang.String typeComment
        start local 4 // java.lang.String typeContent
        start local 5 // java.lang.String lineDelimiter
         0: .line 238
            ldc "org.eclipse.jdt.ui.text.codetemplates.newtype"
            aload 0 /* cu */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getCodeTemplate:(Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jface/text/templates/Template;
            astore 6 /* template */
        start local 6 // org.eclipse.jface.text.templates.Template template
         1: .line 239
            aload 6 /* template */
            ifnonnull 3
         2: .line 240
            aconst_null
            areturn
         3: .line 243
      StackMap locals: org.eclipse.jface.text.templates.Template
      StackMap stack:
            aload 0 /* cu */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            astore 7 /* project */
        start local 7 // org.eclipse.jdt.core.IJavaProject project
         4: .line 244
            new org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext
            dup
            aload 6 /* template */
            invokevirtual org.eclipse.jface.text.templates.Template.getContextTypeId:()Ljava/lang/String;
            aload 7 /* project */
            aload 5 /* lineDelimiter */
            invokespecial org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.<init>:(Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;)V
            astore 8 /* context */
        start local 8 // org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext context
         5: .line 245
            aload 8 /* context */
            aload 0 /* cu */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setCompilationUnitVariables:(Lorg/eclipse/jdt/core/ICompilationUnit;)V
         6: .line 246
            aload 8 /* context */
            ldc "package_declaration"
            aload 1 /* packDecl */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
         7: .line 247
            aload 8 /* context */
            ldc "typecomment"
            aload 3 /* typeComment */
            ifnull 8
            aload 3 /* typeComment */
            goto 9
      StackMap locals: org.eclipse.jdt.core.ICompilationUnit java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String org.eclipse.jface.text.templates.Template org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext
      StackMap stack: org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext java.lang.String
         8: ldc ""
      StackMap locals: org.eclipse.jdt.core.ICompilationUnit java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String org.eclipse.jface.text.templates.Template org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext
      StackMap stack: org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext java.lang.String java.lang.String
         9: invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
        10: .line 248
            aload 8 /* context */
            ldc "filecomment"
            aload 2 /* fileComment */
            ifnull 11
            aload 2 /* fileComment */
            goto 12
      StackMap locals: org.eclipse.jdt.core.ICompilationUnit java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String org.eclipse.jface.text.templates.Template org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext
      StackMap stack: org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext java.lang.String
        11: ldc ""
      StackMap locals: org.eclipse.jdt.core.ICompilationUnit java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String org.eclipse.jface.text.templates.Template org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext
      StackMap stack: org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext java.lang.String java.lang.String
        12: invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
        13: .line 249
            aload 8 /* context */
            ldc "type_declaration"
            aload 4 /* typeContent */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
        14: .line 250
            aload 8 /* context */
            ldc "type_name"
            aload 0 /* cu */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getElementName:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.core.JavaCore.removeJavaLikeExtension:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
        15: .line 252
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
            ldc "package_declaration"
            aastore
            dup
            iconst_1
            ldc "filecomment"
            aastore
            dup
            iconst_2
            ldc "typecomment"
            aastore
            astore 9 /* fullLine */
        start local 9 // java.lang.String[] fullLine
        16: .line 253
            aload 8 /* context */
            aload 6 /* template */
            aload 9 /* fullLine */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.evaluateTemplate:(Lorg/eclipse/jdt/internal/core/manipulation/CodeTemplateContext;Lorg/eclipse/jface/text/templates/Template;[Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 9 // java.lang.String[] fullLine
        end local 8 // org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext context
        end local 7 // org.eclipse.jdt.core.IJavaProject project
        end local 6 // org.eclipse.jface.text.templates.Template template
        end local 5 // java.lang.String lineDelimiter
        end local 4 // java.lang.String typeContent
        end local 3 // java.lang.String typeComment
        end local 2 // java.lang.String fileComment
        end local 1 // java.lang.String packDecl
        end local 0 // org.eclipse.jdt.core.ICompilationUnit cu
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   17     0             cu  Lorg/eclipse/jdt/core/ICompilationUnit;
            0   17     1       packDecl  Ljava/lang/String;
            0   17     2    fileComment  Ljava/lang/String;
            0   17     3    typeComment  Ljava/lang/String;
            0   17     4    typeContent  Ljava/lang/String;
            0   17     5  lineDelimiter  Ljava/lang/String;
            1   17     6       template  Lorg/eclipse/jface/text/templates/Template;
            4   17     7        project  Lorg/eclipse/jdt/core/IJavaProject;
            5   17     8        context  Lorg/eclipse/jdt/internal/core/manipulation/CodeTemplateContext;
           16   17     9       fullLine  [Ljava/lang/String;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
               Name  Flags
      cu             
      packDecl       
      fileComment    
      typeComment    
      typeContent    
      lineDelimiter  

  public static java.lang.String getFileComment(org.eclipse.jdt.core.ICompilationUnit, java.lang.String);
    descriptor: (Lorg/eclipse/jdt/core/ICompilationUnit;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.core.ICompilationUnit cu
        start local 1 // java.lang.String lineDelimiter
         0: .line 262
            ldc "org.eclipse.jdt.ui.text.codetemplates.filecomment"
            aload 0 /* cu */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getCodeTemplate:(Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jface/text/templates/Template;
            astore 2 /* template */
        start local 2 // org.eclipse.jface.text.templates.Template template
         1: .line 263
            aload 2 /* template */
            ifnonnull 3
         2: .line 264
            aconst_null
            areturn
         3: .line 267
      StackMap locals: org.eclipse.jface.text.templates.Template
      StackMap stack:
            aload 0 /* cu */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            astore 3 /* project */
        start local 3 // org.eclipse.jdt.core.IJavaProject project
         4: .line 268
            new org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext
            dup
            aload 2 /* template */
            invokevirtual org.eclipse.jface.text.templates.Template.getContextTypeId:()Ljava/lang/String;
            aload 3 /* project */
            aload 1 /* lineDelimiter */
            invokespecial org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.<init>:(Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;)V
            astore 4 /* context */
        start local 4 // org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext context
         5: .line 269
            aload 4 /* context */
            aload 0 /* cu */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setCompilationUnitVariables:(Lorg/eclipse/jdt/core/ICompilationUnit;)V
         6: .line 270
            aload 4 /* context */
            ldc "type_name"
            aload 0 /* cu */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getElementName:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.core.JavaCore.removeJavaLikeExtension:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
         7: .line 271
            aload 4 /* context */
            aload 2 /* template */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.evaluateTemplate:(Lorg/eclipse/jdt/internal/core/manipulation/CodeTemplateContext;Lorg/eclipse/jface/text/templates/Template;)Ljava/lang/String;
            areturn
        end local 4 // org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext context
        end local 3 // org.eclipse.jdt.core.IJavaProject project
        end local 2 // org.eclipse.jface.text.templates.Template template
        end local 1 // java.lang.String lineDelimiter
        end local 0 // org.eclipse.jdt.core.ICompilationUnit cu
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0             cu  Lorg/eclipse/jdt/core/ICompilationUnit;
            0    8     1  lineDelimiter  Ljava/lang/String;
            1    8     2       template  Lorg/eclipse/jface/text/templates/Template;
            4    8     3        project  Lorg/eclipse/jdt/core/IJavaProject;
            5    8     4        context  Lorg/eclipse/jdt/internal/core/manipulation/CodeTemplateContext;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
               Name  Flags
      cu             
      lineDelimiter  

  public static java.lang.String getTypeComment(org.eclipse.jdt.core.ICompilationUnit, java.lang.String, java.lang.String[], java.lang.String);
    descriptor: (Lorg/eclipse/jdt/core/ICompilationUnit;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=13, args_size=4
        start local 0 // org.eclipse.jdt.core.ICompilationUnit cu
        start local 1 // java.lang.String typeQualifiedName
        start local 2 // java.lang.String[] typeParameterNames
        start local 3 // java.lang.String lineDelim
         0: .line 279
            ldc "org.eclipse.jdt.ui.text.codetemplates.typecomment"
            aload 0 /* cu */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getCodeTemplate:(Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jface/text/templates/Template;
            astore 4 /* template */
        start local 4 // org.eclipse.jface.text.templates.Template template
         1: .line 280
            aload 4 /* template */
            ifnonnull 3
         2: .line 281
            aconst_null
            areturn
         3: .line 283
      StackMap locals: org.eclipse.jface.text.templates.Template
      StackMap stack:
            new org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext
            dup
            aload 4 /* template */
            invokevirtual org.eclipse.jface.text.templates.Template.getContextTypeId:()Ljava/lang/String;
            aload 0 /* cu */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            aload 3 /* lineDelim */
            invokespecial org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.<init>:(Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;)V
            astore 5 /* context */
        start local 5 // org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext context
         4: .line 284
            aload 5 /* context */
            aload 0 /* cu */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setCompilationUnitVariables:(Lorg/eclipse/jdt/core/ICompilationUnit;)V
         5: .line 285
            aload 5 /* context */
            ldc "enclosing_type"
            aload 1 /* typeQualifiedName */
            invokestatic org.eclipse.jdt.core.Signature.getQualifier:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
         6: .line 286
            aload 5 /* context */
            ldc "type_name"
            aload 1 /* typeQualifiedName */
            invokestatic org.eclipse.jdt.core.Signature.getSimpleName:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
         7: .line 290
            aload 5 /* context */
            aload 4 /* template */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.evaluate:(Lorg/eclipse/jface/text/templates/Template;)Lorg/eclipse/jface/text/templates/TemplateBuffer;
            astore 6 /* buffer */
        start local 6 // org.eclipse.jface.text.templates.TemplateBuffer buffer
         8: .line 291
            goto 13
        end local 6 // org.eclipse.jface.text.templates.TemplateBuffer buffer
      StackMap locals: org.eclipse.jdt.core.ICompilationUnit java.lang.String java.lang.String[] java.lang.String org.eclipse.jface.text.templates.Template org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext
      StackMap stack: org.eclipse.jface.text.BadLocationException
         9: pop
        10: .line 292
            new org.eclipse.core.runtime.CoreException
            dup
            getstatic org.eclipse.core.runtime.Status.CANCEL_STATUS:Lorg/eclipse/core/runtime/IStatus;
            invokespecial org.eclipse.core.runtime.CoreException.<init>:(Lorg/eclipse/core/runtime/IStatus;)V
            athrow
        11: .line 293
      StackMap locals:
      StackMap stack: org.eclipse.jface.text.templates.TemplateException
            pop
        12: .line 294
            new org.eclipse.core.runtime.CoreException
            dup
            getstatic org.eclipse.core.runtime.Status.CANCEL_STATUS:Lorg/eclipse/core/runtime/IStatus;
            invokespecial org.eclipse.core.runtime.CoreException.<init>:(Lorg/eclipse/core/runtime/IStatus;)V
            athrow
        start local 6 // org.eclipse.jface.text.templates.TemplateBuffer buffer
        13: .line 296
      StackMap locals: org.eclipse.jface.text.templates.TemplateBuffer
      StackMap stack:
            aload 6 /* buffer */
            invokevirtual org.eclipse.jface.text.templates.TemplateBuffer.getString:()Ljava/lang/String;
            astore 7 /* str */
        start local 7 // java.lang.String str
        14: .line 297
            aload 7 /* str */
            invokestatic org.eclipse.jdt.internal.core.manipulation.util.Strings.containsOnlyWhitespaces:(Ljava/lang/String;)Z
            ifeq 16
        15: .line 298
            aconst_null
            areturn
        16: .line 301
      StackMap locals: java.lang.String
      StackMap stack:
            aload 6 /* buffer */
            ldc "tags"
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.findVariable:(Lorg/eclipse/jface/text/templates/TemplateBuffer;Ljava/lang/String;)Lorg/eclipse/jface/text/templates/TemplateVariable;
            astore 8 /* position */
        start local 8 // org.eclipse.jface.text.templates.TemplateVariable position
        17: .line 302
            aload 8 /* position */
            ifnonnull 19
        18: .line 303
            aload 7 /* str */
            areturn
        19: .line 306
      StackMap locals: org.eclipse.jface.text.templates.TemplateVariable
      StackMap stack:
            new org.eclipse.jface.text.Document
            dup
            aload 7 /* str */
            invokespecial org.eclipse.jface.text.Document.<init>:(Ljava/lang/String;)V
            astore 9 /* document */
        start local 9 // org.eclipse.jface.text.IDocument document
        20: .line 307
            aload 8 /* position */
            invokevirtual org.eclipse.jface.text.templates.TemplateVariable.getOffsets:()[I
            astore 10 /* tagOffsets */
        start local 10 // int[] tagOffsets
        21: .line 308
            aload 10 /* tagOffsets */
            arraylength
            iconst_1
            isub
            istore 11 /* i */
        start local 11 // int i
        22: goto 28
        23: .line 310
      StackMap locals: org.eclipse.jface.text.IDocument int[] int
      StackMap stack:
            aload 9 /* document */
            aload 10 /* tagOffsets */
            iload 11 /* i */
            iaload
            aload 8 /* position */
            invokevirtual org.eclipse.jface.text.templates.TemplateVariable.getLength:()I
            getstatic org.eclipse.jdt.internal.core.manipulation.StubUtility.EMPTY:[Ljava/lang/String;
            getstatic org.eclipse.jdt.internal.core.manipulation.StubUtility.EMPTY:[Ljava/lang/String;
            aconst_null
            aload 2 /* typeParameterNames */
            iconst_0
            aload 3 /* lineDelim */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.insertTag:(Lorg/eclipse/jface/text/IDocument;II[Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;ZLjava/lang/String;)V
        24: .line 311
            goto 27
      StackMap locals:
      StackMap stack: org.eclipse.jface.text.BadLocationException
        25: astore 12 /* e */
        start local 12 // org.eclipse.jface.text.BadLocationException e
        26: .line 312
            new org.eclipse.core.runtime.CoreException
            dup
            new org.eclipse.core.runtime.Status
            dup
            iconst_4
            invokestatic org.eclipse.jdt.internal.core.manipulation.JavaManipulationPlugin.getPluginId:()Ljava/lang/String;
            iconst_4
            aload 12 /* e */
            invokevirtual org.eclipse.jface.text.BadLocationException.getMessage:()Ljava/lang/String;
            aload 12 /* e */
            invokespecial org.eclipse.core.runtime.Status.<init>:(ILjava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
            invokespecial org.eclipse.core.runtime.CoreException.<init>:(Lorg/eclipse/core/runtime/IStatus;)V
            athrow
        end local 12 // org.eclipse.jface.text.BadLocationException e
        27: .line 308
      StackMap locals:
      StackMap stack:
            iinc 11 /* i */ -1
      StackMap locals:
      StackMap stack:
        28: iload 11 /* i */
            ifge 23
        end local 11 // int i
        29: .line 315
            aload 9 /* document */
            invokeinterface org.eclipse.jface.text.IDocument.get:()Ljava/lang/String;
            areturn
        end local 10 // int[] tagOffsets
        end local 9 // org.eclipse.jface.text.IDocument document
        end local 8 // org.eclipse.jface.text.templates.TemplateVariable position
        end local 7 // java.lang.String str
        end local 6 // org.eclipse.jface.text.templates.TemplateBuffer buffer
        end local 5 // org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext context
        end local 4 // org.eclipse.jface.text.templates.Template template
        end local 3 // java.lang.String lineDelim
        end local 2 // java.lang.String[] typeParameterNames
        end local 1 // java.lang.String typeQualifiedName
        end local 0 // org.eclipse.jdt.core.ICompilationUnit cu
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   30     0                  cu  Lorg/eclipse/jdt/core/ICompilationUnit;
            0   30     1   typeQualifiedName  Ljava/lang/String;
            0   30     2  typeParameterNames  [Ljava/lang/String;
            0   30     3           lineDelim  Ljava/lang/String;
            1   30     4            template  Lorg/eclipse/jface/text/templates/Template;
            4   30     5             context  Lorg/eclipse/jdt/internal/core/manipulation/CodeTemplateContext;
            8    9     6              buffer  Lorg/eclipse/jface/text/templates/TemplateBuffer;
           13   30     6              buffer  Lorg/eclipse/jface/text/templates/TemplateBuffer;
           14   30     7                 str  Ljava/lang/String;
           17   30     8            position  Lorg/eclipse/jface/text/templates/TemplateVariable;
           20   30     9            document  Lorg/eclipse/jface/text/IDocument;
           21   30    10          tagOffsets  [I
           22   29    11                   i  I
           26   27    12                   e  Lorg/eclipse/jface/text/BadLocationException;
      Exception table:
        from    to  target  type
           7     8       9  Class org.eclipse.jface.text.BadLocationException
           7     8      11  Class org.eclipse.jface.text.templates.TemplateException
          23    24      25  Class org.eclipse.jface.text.BadLocationException
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
                    Name  Flags
      cu                  
      typeQualifiedName   
      typeParameterNames  
      lineDelim           

  public static java.lang.String[] getParameterTypeNamesForSeeTag(org.eclipse.jdt.core.dom.IMethodBinding);
    descriptor: (Lorg/eclipse/jdt/core/dom/IMethodBinding;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.IMethodBinding binding
         0: .line 322
            aload 0 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.IMethodBinding.getParameterTypes:()[Lorg/eclipse/jdt/core/dom/ITypeBinding;
            astore 1 /* typeBindings */
        start local 1 // org.eclipse.jdt.core.dom.ITypeBinding[] typeBindings
         1: .line 323
            aload 1 /* typeBindings */
            arraylength
            anewarray java.lang.String
            astore 2 /* result */
        start local 2 // java.lang.String[] result
         2: .line 324
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 8
         4: .line 325
      StackMap locals: org.eclipse.jdt.core.dom.ITypeBinding[] java.lang.String[] int
      StackMap stack:
            aload 1 /* typeBindings */
            iload 3 /* i */
            aaload
            astore 4 /* curr */
        start local 4 // org.eclipse.jdt.core.dom.ITypeBinding curr
         5: .line 326
            aload 4 /* curr */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getErasure:()Lorg/eclipse/jdt/core/dom/ITypeBinding;
            astore 4 /* curr */
         6: .line 327
            aload 2 /* result */
            iload 3 /* i */
            aload 4 /* curr */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getQualifiedName:()Ljava/lang/String;
            aastore
        end local 4 // org.eclipse.jdt.core.dom.ITypeBinding curr
         7: .line 324
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 2 /* result */
            arraylength
            if_icmplt 4
        end local 3 // int i
         9: .line 329
            aload 2 /* result */
            areturn
        end local 2 // java.lang.String[] result
        end local 1 // org.eclipse.jdt.core.dom.ITypeBinding[] typeBindings
        end local 0 // org.eclipse.jdt.core.dom.IMethodBinding binding
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0       binding  Lorg/eclipse/jdt/core/dom/IMethodBinding;
            1   10     1  typeBindings  [Lorg/eclipse/jdt/core/dom/ITypeBinding;
            2   10     2        result  [Ljava/lang/String;
            3    9     3             i  I
            5    7     4          curr  Lorg/eclipse/jdt/core/dom/ITypeBinding;
    MethodParameters:
         Name  Flags
      binding  

  private static java.lang.String[] getParameterTypeNamesForSeeTag(org.eclipse.jdt.core.IMethod);
    descriptor: (Lorg/eclipse/jdt/core/IMethod;)[Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // org.eclipse.jdt.core.IMethod overridden
         0: .line 337
            bipush 13
            invokestatic org.eclipse.jdt.core.dom.ASTParser.newParser:(I)Lorg/eclipse/jdt/core/dom/ASTParser;
            astore 1 /* parser */
        start local 1 // org.eclipse.jdt.core.dom.ASTParser parser
         1: .line 338
            aload 1 /* parser */
            aload 0 /* overridden */
            invokeinterface org.eclipse.jdt.core.IMethod.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            invokevirtual org.eclipse.jdt.core.dom.ASTParser.setProject:(Lorg/eclipse/jdt/core/IJavaProject;)V
         2: .line 339
            aload 1 /* parser */
            iconst_1
            anewarray org.eclipse.jdt.core.IJavaElement
            dup
            iconst_0
            aload 0 /* overridden */
            aastore
            aconst_null
            invokevirtual org.eclipse.jdt.core.dom.ASTParser.createBindings:([Lorg/eclipse/jdt/core/IJavaElement;Lorg/eclipse/core/runtime/IProgressMonitor;)[Lorg/eclipse/jdt/core/dom/IBinding;
            astore 2 /* bindings */
        start local 2 // org.eclipse.jdt.core.dom.IBinding[] bindings
         3: .line 340
            aload 2 /* bindings */
            arraylength
            iconst_1
            if_icmpne 7
            aload 2 /* bindings */
            iconst_0
            aaload
            instanceof org.eclipse.jdt.core.dom.IMethodBinding
            ifeq 7
         4: .line 341
            aload 2 /* bindings */
            iconst_0
            aaload
            checkcast org.eclipse.jdt.core.dom.IMethodBinding
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getParameterTypeNamesForSeeTag:(Lorg/eclipse/jdt/core/dom/IMethodBinding;)[Ljava/lang/String;
         5: areturn
        end local 2 // org.eclipse.jdt.core.dom.IBinding[] bindings
        end local 1 // org.eclipse.jdt.core.dom.ASTParser parser
         6: .line 343
      StackMap locals:
      StackMap stack: java.lang.IllegalStateException
            pop
         7: .line 347
      StackMap locals:
      StackMap stack:
            aload 0 /* overridden */
            invokeinterface org.eclipse.jdt.core.IMethod.getParameterTypes:()[Ljava/lang/String;
            astore 1 /* paramTypes */
        start local 1 // java.lang.String[] paramTypes
         8: .line 348
            aload 1 /* paramTypes */
            arraylength
            anewarray java.lang.String
            astore 2 /* paramTypeNames */
        start local 2 // java.lang.String[] paramTypeNames
         9: .line 349
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        10: goto 13
        11: .line 350
      StackMap locals: java.lang.String[] java.lang.String[] int
      StackMap stack:
            aload 2 /* paramTypeNames */
            iload 3 /* i */
            aload 1 /* paramTypes */
            iload 3 /* i */
            aaload
            invokestatic org.eclipse.jdt.core.Signature.getTypeErasure:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic org.eclipse.jdt.core.Signature.toString:(Ljava/lang/String;)Ljava/lang/String;
            aastore
        12: .line 349
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 3 /* i */
            aload 1 /* paramTypes */
            arraylength
            if_icmplt 11
        end local 3 // int i
        14: .line 352
            aload 2 /* paramTypeNames */
            areturn
        end local 2 // java.lang.String[] paramTypeNames
        end local 1 // java.lang.String[] paramTypes
        end local 0 // org.eclipse.jdt.core.IMethod overridden
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   15     0      overridden  Lorg/eclipse/jdt/core/IMethod;
            1    6     1          parser  Lorg/eclipse/jdt/core/dom/ASTParser;
            3    6     2        bindings  [Lorg/eclipse/jdt/core/dom/IBinding;
            8   15     1      paramTypes  [Ljava/lang/String;
            9   15     2  paramTypeNames  [Ljava/lang/String;
           10   14     3               i  I
      Exception table:
        from    to  target  type
           0     5       6  Class java.lang.IllegalStateException
    MethodParameters:
            Name  Flags
      overridden  

  private static java.lang.String getSeeTag(java.lang.String, java.lang.String, java.lang.String[]);
    descriptor: (Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // java.lang.String declaringClassQualifiedName
        start local 1 // java.lang.String methodName
        start local 2 // java.lang.String[] parameterTypesQualifiedNames
         0: .line 356
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* buf */
        start local 3 // java.lang.StringBuilder buf
         1: .line 357
            aload 3 /* buf */
            ldc "@see "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 358
            aload 3 /* buf */
            aload 0 /* declaringClassQualifiedName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 359
            aload 3 /* buf */
            bipush 35
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         4: .line 360
            aload 3 /* buf */
            aload 1 /* methodName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 361
            aload 3 /* buf */
            bipush 40
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         6: .line 362
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         7: goto 12
         8: .line 363
      StackMap locals: java.lang.StringBuilder int
      StackMap stack:
            iload 4 /* i */
            ifle 10
         9: .line 364
            aload 3 /* buf */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 366
      StackMap locals:
      StackMap stack:
            aload 3 /* buf */
            aload 2 /* parameterTypesQualifiedNames */
            iload 4 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 362
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 4 /* i */
            aload 2 /* parameterTypesQualifiedNames */
            arraylength
            if_icmplt 8
        end local 4 // int i
        13: .line 368
            aload 3 /* buf */
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        14: .line 369
            aload 3 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuilder buf
        end local 2 // java.lang.String[] parameterTypesQualifiedNames
        end local 1 // java.lang.String methodName
        end local 0 // java.lang.String declaringClassQualifiedName
      LocalVariableTable:
        Start  End  Slot                          Name  Signature
            0   15     0   declaringClassQualifiedName  Ljava/lang/String;
            0   15     1                    methodName  Ljava/lang/String;
            0   15     2  parameterTypesQualifiedNames  [Ljava/lang/String;
            1   15     3                           buf  Ljava/lang/StringBuilder;
            7   13     4                             i  I
    MethodParameters:
                              Name  Flags
      declaringClassQualifiedName   
      methodName                    
      parameterTypesQualifiedNames  

  public static java.lang.String[] getTypeParameterNames(org.eclipse.jdt.core.ITypeParameter[]);
    descriptor: ([Lorg/eclipse/jdt/core/ITypeParameter;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.core.ITypeParameter[] typeParameters
         0: .line 373
            aload 0 /* typeParameters */
            arraylength
            anewarray java.lang.String
            astore 1 /* typeParametersNames */
        start local 1 // java.lang.String[] typeParametersNames
         1: .line 374
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 375
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 1 /* typeParametersNames */
            iload 2 /* i */
            aload 0 /* typeParameters */
            iload 2 /* i */
            aaload
            invokeinterface org.eclipse.jdt.core.ITypeParameter.getElementName:()Ljava/lang/String;
            aastore
         4: .line 374
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* typeParameters */
            arraylength
            if_icmplt 3
        end local 2 // int i
         6: .line 377
            aload 1 /* typeParametersNames */
            areturn
        end local 1 // java.lang.String[] typeParametersNames
        end local 0 // org.eclipse.jdt.core.ITypeParameter[] typeParameters
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    7     0       typeParameters  [Lorg/eclipse/jdt/core/ITypeParameter;
            1    7     1  typeParametersNames  [Ljava/lang/String;
            2    6     2                    i  I
    MethodParameters:
                Name  Flags
      typeParameters  

  public static java.lang.String getTypeBody(java.lang.String, org.eclipse.jdt.core.ICompilationUnit, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Lorg/eclipse/jdt/core/ICompilationUnit;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // java.lang.String templateID
        start local 1 // org.eclipse.jdt.core.ICompilationUnit cu
        start local 2 // java.lang.String typeName
        start local 3 // java.lang.String lineDelim
         0: .line 396
            getstatic org.eclipse.jdt.internal.core.manipulation.StubUtility.VALID_TYPE_BODY_TEMPLATES:Ljava/util/Set;
            aload 0 /* templateID */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 397
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid code template ID: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* templateID */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 400
      StackMap locals:
      StackMap stack:
            aload 0 /* templateID */
            aload 1 /* cu */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getCodeTemplate:(Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jface/text/templates/Template;
            astore 4 /* template */
        start local 4 // org.eclipse.jface.text.templates.Template template
         3: .line 401
            aload 4 /* template */
            ifnonnull 5
         4: .line 402
            aconst_null
            areturn
         5: .line 404
      StackMap locals: org.eclipse.jface.text.templates.Template
      StackMap stack:
            new org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext
            dup
            aload 4 /* template */
            invokevirtual org.eclipse.jface.text.templates.Template.getContextTypeId:()Ljava/lang/String;
            aload 1 /* cu */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            aload 3 /* lineDelim */
            invokespecial org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.<init>:(Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;)V
            astore 5 /* context */
        start local 5 // org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext context
         6: .line 405
            aload 5 /* context */
            aload 1 /* cu */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setCompilationUnitVariables:(Lorg/eclipse/jdt/core/ICompilationUnit;)V
         7: .line 406
            aload 5 /* context */
            ldc "type_name"
            aload 2 /* typeName */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
         8: .line 408
            aload 5 /* context */
            aload 4 /* template */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.evaluateTemplate:(Lorg/eclipse/jdt/internal/core/manipulation/CodeTemplateContext;Lorg/eclipse/jface/text/templates/Template;)Ljava/lang/String;
            areturn
        end local 5 // org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext context
        end local 4 // org.eclipse.jface.text.templates.Template template
        end local 3 // java.lang.String lineDelim
        end local 2 // java.lang.String typeName
        end local 1 // org.eclipse.jdt.core.ICompilationUnit cu
        end local 0 // java.lang.String templateID
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0  templateID  Ljava/lang/String;
            0    9     1          cu  Lorg/eclipse/jdt/core/ICompilationUnit;
            0    9     2    typeName  Ljava/lang/String;
            0    9     3   lineDelim  Ljava/lang/String;
            3    9     4    template  Lorg/eclipse/jface/text/templates/Template;
            6    9     5     context  Lorg/eclipse/jdt/internal/core/manipulation/CodeTemplateContext;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
            Name  Flags
      templateID  
      cu          
      typeName    
      lineDelim   

  public static java.lang.String getMethodComment(org.eclipse.jdt.core.ICompilationUnit, java.lang.String, java.lang.String, java.lang.String[], java.lang.String[], java.lang.String, java.lang.String[], org.eclipse.jdt.core.IMethod, boolean, java.lang.String);
    descriptor: (Lorg/eclipse/jdt/core/ICompilationUnit;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Lorg/eclipse/jdt/core/IMethod;ZLjava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=22, args_size=10
        start local 0 // org.eclipse.jdt.core.ICompilationUnit cu
        start local 1 // java.lang.String typeName
        start local 2 // java.lang.String methodName
        start local 3 // java.lang.String[] paramNames
        start local 4 // java.lang.String[] excTypeSig
        start local 5 // java.lang.String retTypeSig
        start local 6 // java.lang.String[] typeParameterNames
        start local 7 // org.eclipse.jdt.core.IMethod target
        start local 8 // boolean delegate
        start local 9 // java.lang.String lineDelimiter
         0: .line 417
            ldc "org.eclipse.jdt.ui.text.codetemplates.methodcomment"
            astore 10 /* templateName */
        start local 10 // java.lang.String templateName
         1: .line 418
            aload 5 /* retTypeSig */
            ifnonnull 4
         2: .line 419
            ldc "org.eclipse.jdt.ui.text.codetemplates.constructorcomment"
            astore 10 /* templateName */
         3: .line 420
            goto 8
      StackMap locals: java.lang.String
      StackMap stack:
         4: aload 7 /* target */
            ifnull 8
         5: .line 421
            iload 8 /* delegate */
            ifeq 7
         6: .line 422
            ldc "org.eclipse.jdt.ui.text.codetemplates.delegatecomment"
            astore 10 /* templateName */
            goto 8
         7: .line 424
      StackMap locals:
      StackMap stack:
            ldc "org.eclipse.jdt.ui.text.codetemplates.overridecomment"
            astore 10 /* templateName */
         8: .line 426
      StackMap locals:
      StackMap stack:
            aload 10 /* templateName */
            aload 0 /* cu */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getCodeTemplate:(Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jface/text/templates/Template;
            astore 11 /* template */
        start local 11 // org.eclipse.jface.text.templates.Template template
         9: .line 427
            aload 11 /* template */
            ifnonnull 11
        10: .line 428
            aconst_null
            areturn
        11: .line 430
      StackMap locals: org.eclipse.jface.text.templates.Template
      StackMap stack:
            new org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext
            dup
            aload 11 /* template */
            invokevirtual org.eclipse.jface.text.templates.Template.getContextTypeId:()Ljava/lang/String;
            aload 0 /* cu */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            aload 9 /* lineDelimiter */
            invokespecial org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.<init>:(Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;)V
            astore 12 /* context */
        start local 12 // org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext context
        12: .line 431
            aload 12 /* context */
            aload 0 /* cu */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setCompilationUnitVariables:(Lorg/eclipse/jdt/core/ICompilationUnit;)V
        13: .line 432
            aload 12 /* context */
            ldc "enclosing_type"
            aload 1 /* typeName */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
        14: .line 433
            aload 12 /* context */
            ldc "enclosing_method"
            aload 2 /* methodName */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
        15: .line 435
            aload 5 /* retTypeSig */
            ifnull 17
        16: .line 436
            aload 12 /* context */
            ldc "return_type"
            aload 5 /* retTypeSig */
            invokestatic org.eclipse.jdt.core.Signature.toString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
        17: .line 438
      StackMap locals: org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext
      StackMap stack:
            aload 7 /* target */
            ifnull 23
        18: .line 439
            aload 7 /* target */
            invokeinterface org.eclipse.jdt.core.IMethod.getDeclaringType:()Lorg/eclipse/jdt/core/IType;
            bipush 46
            invokeinterface org.eclipse.jdt.core.IType.getFullyQualifiedName:(C)Ljava/lang/String;
            astore 13 /* targetTypeName */
        start local 13 // java.lang.String targetTypeName
        19: .line 440
            aload 7 /* target */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getParameterTypeNamesForSeeTag:(Lorg/eclipse/jdt/core/IMethod;)[Ljava/lang/String;
            astore 14 /* targetParamTypeNames */
        start local 14 // java.lang.String[] targetParamTypeNames
        20: .line 441
            iload 8 /* delegate */
            ifeq 22
        21: .line 442
            aload 12 /* context */
            ldc "see_to_target"
            aload 13 /* targetTypeName */
            aload 2 /* methodName */
            aload 14 /* targetParamTypeNames */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getSeeTag:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
            goto 23
        22: .line 444
      StackMap locals: java.lang.String java.lang.String[]
      StackMap stack:
            aload 12 /* context */
            ldc "see_to_overridden"
            aload 13 /* targetTypeName */
            aload 2 /* methodName */
            aload 14 /* targetParamTypeNames */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getSeeTag:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
        end local 14 // java.lang.String[] targetParamTypeNames
        end local 13 // java.lang.String targetTypeName
        23: .line 448
      StackMap locals:
      StackMap stack:
            aload 12 /* context */
            aload 11 /* template */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.evaluate:(Lorg/eclipse/jface/text/templates/Template;)Lorg/eclipse/jface/text/templates/TemplateBuffer;
            astore 13 /* buffer */
        start local 13 // org.eclipse.jface.text.templates.TemplateBuffer buffer
        24: .line 449
            goto 29
        end local 13 // org.eclipse.jface.text.templates.TemplateBuffer buffer
      StackMap locals:
      StackMap stack: org.eclipse.jface.text.BadLocationException
        25: pop
        26: .line 450
            new org.eclipse.core.runtime.CoreException
            dup
            getstatic org.eclipse.core.runtime.Status.CANCEL_STATUS:Lorg/eclipse/core/runtime/IStatus;
            invokespecial org.eclipse.core.runtime.CoreException.<init>:(Lorg/eclipse/core/runtime/IStatus;)V
            athrow
        27: .line 451
      StackMap locals:
      StackMap stack: org.eclipse.jface.text.templates.TemplateException
            pop
        28: .line 452
            new org.eclipse.core.runtime.CoreException
            dup
            getstatic org.eclipse.core.runtime.Status.CANCEL_STATUS:Lorg/eclipse/core/runtime/IStatus;
            invokespecial org.eclipse.core.runtime.CoreException.<init>:(Lorg/eclipse/core/runtime/IStatus;)V
            athrow
        start local 13 // org.eclipse.jface.text.templates.TemplateBuffer buffer
        29: .line 454
      StackMap locals: org.eclipse.jface.text.templates.TemplateBuffer
      StackMap stack:
            aload 13 /* buffer */
            ifnonnull 31
        30: .line 455
            aconst_null
            areturn
        31: .line 458
      StackMap locals:
      StackMap stack:
            aload 13 /* buffer */
            invokevirtual org.eclipse.jface.text.templates.TemplateBuffer.getString:()Ljava/lang/String;
            astore 14 /* str */
        start local 14 // java.lang.String str
        32: .line 459
            aload 14 /* str */
            invokestatic org.eclipse.jdt.internal.core.manipulation.util.Strings.containsOnlyWhitespaces:(Ljava/lang/String;)Z
            ifeq 34
        33: .line 460
            aconst_null
            areturn
        34: .line 462
      StackMap locals: java.lang.String
      StackMap stack:
            aload 13 /* buffer */
            ldc "tags"
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.findVariable:(Lorg/eclipse/jface/text/templates/TemplateBuffer;Ljava/lang/String;)Lorg/eclipse/jface/text/templates/TemplateVariable;
            astore 15 /* position */
        start local 15 // org.eclipse.jface.text.templates.TemplateVariable position
        35: .line 463
            aload 15 /* position */
            ifnonnull 37
        36: .line 464
            aload 14 /* str */
            areturn
        37: .line 467
      StackMap locals: org.eclipse.jface.text.templates.TemplateVariable
      StackMap stack:
            new org.eclipse.jface.text.Document
            dup
            aload 14 /* str */
            invokespecial org.eclipse.jface.text.Document.<init>:(Ljava/lang/String;)V
            astore 16 /* document */
        start local 16 // org.eclipse.jface.text.IDocument document
        38: .line 468
            aload 4 /* excTypeSig */
            arraylength
            anewarray java.lang.String
            astore 17 /* exceptionNames */
        start local 17 // java.lang.String[] exceptionNames
        39: .line 469
            iconst_0
            istore 18 /* i */
        start local 18 // int i
        40: goto 43
        41: .line 470
      StackMap locals: org.eclipse.jface.text.IDocument java.lang.String[] int
      StackMap stack:
            aload 17 /* exceptionNames */
            iload 18 /* i */
            aload 4 /* excTypeSig */
            iload 18 /* i */
            aaload
            invokestatic org.eclipse.jdt.core.Signature.toString:(Ljava/lang/String;)Ljava/lang/String;
            aastore
        42: .line 469
            iinc 18 /* i */ 1
      StackMap locals:
      StackMap stack:
        43: iload 18 /* i */
            aload 4 /* excTypeSig */
            arraylength
            if_icmplt 41
        end local 18 // int i
        44: .line 472
            aload 5 /* retTypeSig */
            ifnull 45
            aload 5 /* retTypeSig */
            invokestatic org.eclipse.jdt.core.Signature.toString:(Ljava/lang/String;)Ljava/lang/String;
            goto 46
      StackMap locals:
      StackMap stack:
        45: aconst_null
      StackMap locals:
      StackMap stack: java.lang.String
        46: astore 18 /* returnType */
        start local 18 // java.lang.String returnType
        47: .line 473
            aload 15 /* position */
            invokevirtual org.eclipse.jface.text.templates.TemplateVariable.getOffsets:()[I
            astore 19 /* tagOffsets */
        start local 19 // int[] tagOffsets
        48: .line 474
            aload 19 /* tagOffsets */
            arraylength
            iconst_1
            isub
            istore 20 /* i */
        start local 20 // int i
        49: goto 55
        50: .line 476
      StackMap locals: java.lang.String int[] int
      StackMap stack:
            aload 16 /* document */
            aload 19 /* tagOffsets */
            iload 20 /* i */
            iaload
            aload 15 /* position */
            invokevirtual org.eclipse.jface.text.templates.TemplateVariable.getLength:()I
            aload 3 /* paramNames */
            aload 17 /* exceptionNames */
            aload 18 /* returnType */
            aload 6 /* typeParameterNames */
            iconst_0
            aload 9 /* lineDelimiter */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.insertTag:(Lorg/eclipse/jface/text/IDocument;II[Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;ZLjava/lang/String;)V
        51: .line 477
            goto 54
      StackMap locals:
      StackMap stack: org.eclipse.jface.text.BadLocationException
        52: astore 21 /* e */
        start local 21 // org.eclipse.jface.text.BadLocationException e
        53: .line 478
            new org.eclipse.core.runtime.CoreException
            dup
            new org.eclipse.core.runtime.Status
            dup
            iconst_4
            invokestatic org.eclipse.jdt.internal.core.manipulation.JavaManipulationPlugin.getPluginId:()Ljava/lang/String;
            iconst_4
            aload 21 /* e */
            invokevirtual org.eclipse.jface.text.BadLocationException.getMessage:()Ljava/lang/String;
            aload 21 /* e */
            invokespecial org.eclipse.core.runtime.Status.<init>:(ILjava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
            invokespecial org.eclipse.core.runtime.CoreException.<init>:(Lorg/eclipse/core/runtime/IStatus;)V
            athrow
        end local 21 // org.eclipse.jface.text.BadLocationException e
        54: .line 474
      StackMap locals:
      StackMap stack:
            iinc 20 /* i */ -1
      StackMap locals:
      StackMap stack:
        55: iload 20 /* i */
            ifge 50
        end local 20 // int i
        56: .line 481
            aload 16 /* document */
            invokeinterface org.eclipse.jface.text.IDocument.get:()Ljava/lang/String;
            areturn
        end local 19 // int[] tagOffsets
        end local 18 // java.lang.String returnType
        end local 17 // java.lang.String[] exceptionNames
        end local 16 // org.eclipse.jface.text.IDocument document
        end local 15 // org.eclipse.jface.text.templates.TemplateVariable position
        end local 14 // java.lang.String str
        end local 13 // org.eclipse.jface.text.templates.TemplateBuffer buffer
        end local 12 // org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext context
        end local 11 // org.eclipse.jface.text.templates.Template template
        end local 10 // java.lang.String templateName
        end local 9 // java.lang.String lineDelimiter
        end local 8 // boolean delegate
        end local 7 // org.eclipse.jdt.core.IMethod target
        end local 6 // java.lang.String[] typeParameterNames
        end local 5 // java.lang.String retTypeSig
        end local 4 // java.lang.String[] excTypeSig
        end local 3 // java.lang.String[] paramNames
        end local 2 // java.lang.String methodName
        end local 1 // java.lang.String typeName
        end local 0 // org.eclipse.jdt.core.ICompilationUnit cu
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   57     0                    cu  Lorg/eclipse/jdt/core/ICompilationUnit;
            0   57     1              typeName  Ljava/lang/String;
            0   57     2            methodName  Ljava/lang/String;
            0   57     3            paramNames  [Ljava/lang/String;
            0   57     4            excTypeSig  [Ljava/lang/String;
            0   57     5            retTypeSig  Ljava/lang/String;
            0   57     6    typeParameterNames  [Ljava/lang/String;
            0   57     7                target  Lorg/eclipse/jdt/core/IMethod;
            0   57     8              delegate  Z
            0   57     9         lineDelimiter  Ljava/lang/String;
            1   57    10          templateName  Ljava/lang/String;
            9   57    11              template  Lorg/eclipse/jface/text/templates/Template;
           12   57    12               context  Lorg/eclipse/jdt/internal/core/manipulation/CodeTemplateContext;
           19   23    13        targetTypeName  Ljava/lang/String;
           20   23    14  targetParamTypeNames  [Ljava/lang/String;
           24   25    13                buffer  Lorg/eclipse/jface/text/templates/TemplateBuffer;
           29   57    13                buffer  Lorg/eclipse/jface/text/templates/TemplateBuffer;
           32   57    14                   str  Ljava/lang/String;
           35   57    15              position  Lorg/eclipse/jface/text/templates/TemplateVariable;
           38   57    16              document  Lorg/eclipse/jface/text/IDocument;
           39   57    17        exceptionNames  [Ljava/lang/String;
           40   44    18                     i  I
           47   57    18            returnType  Ljava/lang/String;
           48   57    19            tagOffsets  [I
           49   56    20                     i  I
           53   54    21                     e  Lorg/eclipse/jface/text/BadLocationException;
      Exception table:
        from    to  target  type
          23    24      25  Class org.eclipse.jface.text.BadLocationException
          23    24      27  Class org.eclipse.jface.text.templates.TemplateException
          50    51      52  Class org.eclipse.jface.text.BadLocationException
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
                    Name  Flags
      cu                  
      typeName            
      methodName          
      paramNames          
      excTypeSig          
      retTypeSig          
      typeParameterNames  
      target              
      delegate            
      lineDelimiter       

  private static java.lang.String fixEmptyVariables(org.eclipse.jface.text.templates.TemplateBuffer, java.lang.String[]);
    descriptor: (Lorg/eclipse/jface/text/templates/TemplateBuffer;[Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=15, args_size=2
        start local 0 // org.eclipse.jface.text.templates.TemplateBuffer buffer
        start local 1 // java.lang.String[] variables
         0: .line 486
            new org.eclipse.jface.text.Document
            dup
            aload 0 /* buffer */
            invokevirtual org.eclipse.jface.text.templates.TemplateBuffer.getString:()Ljava/lang/String;
            invokespecial org.eclipse.jface.text.Document.<init>:(Ljava/lang/String;)V
            astore 2 /* doc */
        start local 2 // org.eclipse.jface.text.IDocument doc
         1: .line 487
            aload 2 /* doc */
            invokeinterface org.eclipse.jface.text.IDocument.getNumberOfLines:()I
            istore 3 /* nLines */
        start local 3 // int nLines
         2: .line 488
            new org.eclipse.text.edits.MultiTextEdit
            dup
            invokespecial org.eclipse.text.edits.MultiTextEdit.<init>:()V
            astore 4 /* edit */
        start local 4 // org.eclipse.text.edits.MultiTextEdit edit
         3: .line 489
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 5 /* removedLines */
        start local 5 // java.util.HashSet removedLines
         4: .line 490
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: goto 22
         6: .line 491
      StackMap locals: org.eclipse.jface.text.templates.TemplateBuffer java.lang.String[] org.eclipse.jface.text.IDocument int org.eclipse.text.edits.MultiTextEdit java.util.HashSet int
      StackMap stack:
            aload 0 /* buffer */
            aload 1 /* variables */
            iload 6 /* i */
            aaload
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.findVariable:(Lorg/eclipse/jface/text/templates/TemplateBuffer;Ljava/lang/String;)Lorg/eclipse/jface/text/templates/TemplateVariable;
            astore 7 /* position */
        start local 7 // org.eclipse.jface.text.templates.TemplateVariable position
         7: .line 492
            aload 7 /* position */
            ifnull 21
            aload 7 /* position */
            invokevirtual org.eclipse.jface.text.templates.TemplateVariable.getLength:()I
            ifle 9
         8: .line 493
            goto 21
         9: .line 495
      StackMap locals: org.eclipse.jface.text.templates.TemplateVariable
      StackMap stack:
            aload 7 /* position */
            invokevirtual org.eclipse.jface.text.templates.TemplateVariable.getOffsets:()[I
            astore 8 /* offsets */
        start local 8 // int[] offsets
        10: .line 496
            iconst_0
            istore 9 /* k */
        start local 9 // int k
        11: goto 20
        12: .line 497
      StackMap locals: int[] int
      StackMap stack:
            aload 2 /* doc */
            aload 8 /* offsets */
            iload 9 /* k */
            iaload
            invokeinterface org.eclipse.jface.text.IDocument.getLineOfOffset:(I)I
            istore 10 /* line */
        start local 10 // int line
        13: .line 498
            aload 2 /* doc */
            iload 10 /* line */
            invokeinterface org.eclipse.jface.text.IDocument.getLineInformation:(I)Lorg/eclipse/jface/text/IRegion;
            astore 11 /* lineInfo */
        start local 11 // org.eclipse.jface.text.IRegion lineInfo
        14: .line 499
            aload 11 /* lineInfo */
            invokeinterface org.eclipse.jface.text.IRegion.getOffset:()I
            istore 12 /* offset */
        start local 12 // int offset
        15: .line 500
            aload 2 /* doc */
            iload 12 /* offset */
            aload 11 /* lineInfo */
            invokeinterface org.eclipse.jface.text.IRegion.getLength:()I
            invokeinterface org.eclipse.jface.text.IDocument.get:(II)Ljava/lang/String;
            astore 13 /* str */
        start local 13 // java.lang.String str
        16: .line 501
            aload 13 /* str */
            invokestatic org.eclipse.jdt.internal.core.manipulation.util.Strings.containsOnlyWhitespaces:(Ljava/lang/String;)Z
            ifeq 19
            iload 3 /* nLines */
            iload 10 /* line */
            iconst_1
            iadd
            if_icmple 19
            aload 5 /* removedLines */
            iload 10 /* line */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            ifeq 19
        17: .line 502
            aload 2 /* doc */
            iload 10 /* line */
            iconst_1
            iadd
            invokeinterface org.eclipse.jface.text.IDocument.getLineOffset:(I)I
            istore 14 /* nextStart */
        start local 14 // int nextStart
        18: .line 503
            aload 4 /* edit */
            new org.eclipse.text.edits.DeleteEdit
            dup
            iload 12 /* offset */
            iload 14 /* nextStart */
            iload 12 /* offset */
            isub
            invokespecial org.eclipse.text.edits.DeleteEdit.<init>:(II)V
            invokevirtual org.eclipse.text.edits.MultiTextEdit.addChild:(Lorg/eclipse/text/edits/TextEdit;)V
        end local 14 // int nextStart
        end local 13 // java.lang.String str
        end local 12 // int offset
        end local 11 // org.eclipse.jface.text.IRegion lineInfo
        end local 10 // int line
        19: .line 496
      StackMap locals:
      StackMap stack:
            iinc 9 /* k */ 1
      StackMap locals:
      StackMap stack:
        20: iload 9 /* k */
            aload 8 /* offsets */
            arraylength
            if_icmplt 12
        end local 9 // int k
        end local 8 // int[] offsets
        end local 7 // org.eclipse.jface.text.templates.TemplateVariable position
        21: .line 490
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 6 /* i */
            aload 1 /* variables */
            arraylength
            if_icmplt 6
        end local 6 // int i
        23: .line 507
            aload 4 /* edit */
            aload 2 /* doc */
            iconst_0
            invokevirtual org.eclipse.text.edits.MultiTextEdit.apply:(Lorg/eclipse/jface/text/IDocument;I)Lorg/eclipse/text/edits/UndoEdit;
            pop
        24: .line 508
            aload 2 /* doc */
            invokeinterface org.eclipse.jface.text.IDocument.get:()Ljava/lang/String;
            areturn
        end local 5 // java.util.HashSet removedLines
        end local 4 // org.eclipse.text.edits.MultiTextEdit edit
        end local 3 // int nLines
        end local 2 // org.eclipse.jface.text.IDocument doc
        end local 1 // java.lang.String[] variables
        end local 0 // org.eclipse.jface.text.templates.TemplateBuffer buffer
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   25     0        buffer  Lorg/eclipse/jface/text/templates/TemplateBuffer;
            0   25     1     variables  [Ljava/lang/String;
            1   25     2           doc  Lorg/eclipse/jface/text/IDocument;
            2   25     3        nLines  I
            3   25     4          edit  Lorg/eclipse/text/edits/MultiTextEdit;
            4   25     5  removedLines  Ljava/util/HashSet<Ljava/lang/Integer;>;
            5   23     6             i  I
            7   21     7      position  Lorg/eclipse/jface/text/templates/TemplateVariable;
           10   21     8       offsets  [I
           11   21     9             k  I
           13   19    10          line  I
           14   19    11      lineInfo  Lorg/eclipse/jface/text/IRegion;
           15   19    12        offset  I
           16   19    13           str  Ljava/lang/String;
           18   19    14     nextStart  I
    Exceptions:
      throws org.eclipse.text.edits.MalformedTreeException, org.eclipse.jface.text.BadLocationException
    MethodParameters:
           Name  Flags
      buffer     
      variables  

  public static java.lang.String getModuleComment(org.eclipse.jdt.core.ICompilationUnit, java.lang.String, java.lang.String[], java.lang.String[], java.lang.String);
    descriptor: (Lorg/eclipse/jdt/core/ICompilationUnit;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=15, args_size=5
        start local 0 // org.eclipse.jdt.core.ICompilationUnit cu
        start local 1 // java.lang.String moduleName
        start local 2 // java.lang.String[] providesNames
        start local 3 // java.lang.String[] usesNames
        start local 4 // java.lang.String lineDelimiter
         0: .line 517
            ldc "org.eclipse.jdt.ui.text.codetemplates.modulecomment"
            astore 5 /* templateName */
        start local 5 // java.lang.String templateName
         1: .line 518
            aload 5 /* templateName */
            aload 0 /* cu */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getCodeTemplate:(Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jface/text/templates/Template;
            astore 6 /* template */
        start local 6 // org.eclipse.jface.text.templates.Template template
         2: .line 519
            aload 6 /* template */
            ifnonnull 4
         3: .line 520
            aconst_null
            areturn
         4: .line 522
      StackMap locals: java.lang.String org.eclipse.jface.text.templates.Template
      StackMap stack:
            new org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext
            dup
            aload 6 /* template */
            invokevirtual org.eclipse.jface.text.templates.Template.getContextTypeId:()Ljava/lang/String;
            aload 0 /* cu */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            aload 4 /* lineDelimiter */
            invokespecial org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.<init>:(Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;)V
            astore 7 /* context */
        start local 7 // org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext context
         5: .line 523
            aload 7 /* context */
            aload 0 /* cu */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setCompilationUnitVariables:(Lorg/eclipse/jdt/core/ICompilationUnit;)V
         6: .line 524
            aload 7 /* context */
            ldc "enclosing_module"
            aload 1 /* moduleName */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
         7: .line 527
            aload 7 /* context */
            aload 6 /* template */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.evaluate:(Lorg/eclipse/jface/text/templates/Template;)Lorg/eclipse/jface/text/templates/TemplateBuffer;
            astore 8 /* buffer */
        start local 8 // org.eclipse.jface.text.templates.TemplateBuffer buffer
         8: .line 528
            goto 13
        end local 8 // org.eclipse.jface.text.templates.TemplateBuffer buffer
      StackMap locals: org.eclipse.jdt.core.ICompilationUnit java.lang.String java.lang.String[] java.lang.String[] java.lang.String java.lang.String org.eclipse.jface.text.templates.Template org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext
      StackMap stack: org.eclipse.jface.text.BadLocationException
         9: pop
        10: .line 529
            new org.eclipse.core.runtime.CoreException
            dup
            getstatic org.eclipse.core.runtime.Status.CANCEL_STATUS:Lorg/eclipse/core/runtime/IStatus;
            invokespecial org.eclipse.core.runtime.CoreException.<init>:(Lorg/eclipse/core/runtime/IStatus;)V
            athrow
        11: .line 530
      StackMap locals:
      StackMap stack: org.eclipse.jface.text.templates.TemplateException
            pop
        12: .line 531
            new org.eclipse.core.runtime.CoreException
            dup
            getstatic org.eclipse.core.runtime.Status.CANCEL_STATUS:Lorg/eclipse/core/runtime/IStatus;
            invokespecial org.eclipse.core.runtime.CoreException.<init>:(Lorg/eclipse/core/runtime/IStatus;)V
            athrow
        start local 8 // org.eclipse.jface.text.templates.TemplateBuffer buffer
        13: .line 533
      StackMap locals: org.eclipse.jface.text.templates.TemplateBuffer
      StackMap stack:
            aload 8 /* buffer */
            invokevirtual org.eclipse.jface.text.templates.TemplateBuffer.getString:()Ljava/lang/String;
            astore 9 /* str */
        start local 9 // java.lang.String str
        14: .line 534
            aload 9 /* str */
            invokestatic org.eclipse.jdt.internal.core.manipulation.util.Strings.containsOnlyWhitespaces:(Ljava/lang/String;)Z
            ifeq 16
        15: .line 535
            aconst_null
            areturn
        16: .line 538
      StackMap locals: java.lang.String
      StackMap stack:
            aload 8 /* buffer */
            ldc "tags"
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.findVariable:(Lorg/eclipse/jface/text/templates/TemplateBuffer;Ljava/lang/String;)Lorg/eclipse/jface/text/templates/TemplateVariable;
            astore 10 /* position */
        start local 10 // org.eclipse.jface.text.templates.TemplateVariable position
        17: .line 539
            aload 10 /* position */
            ifnonnull 19
        18: .line 540
            aload 9 /* str */
            areturn
        19: .line 543
      StackMap locals: org.eclipse.jface.text.templates.TemplateVariable
      StackMap stack:
            new org.eclipse.jface.text.Document
            dup
            aload 9 /* str */
            invokespecial org.eclipse.jface.text.Document.<init>:(Ljava/lang/String;)V
            astore 11 /* document */
        start local 11 // org.eclipse.jface.text.IDocument document
        20: .line 544
            aload 10 /* position */
            invokevirtual org.eclipse.jface.text.templates.TemplateVariable.getOffsets:()[I
            astore 12 /* tagOffsets */
        start local 12 // int[] tagOffsets
        21: .line 545
            aload 12 /* tagOffsets */
            arraylength
            iconst_1
            isub
            istore 13 /* i */
        start local 13 // int i
        22: goto 30
        23: .line 547
      StackMap locals: org.eclipse.jface.text.IDocument int[] int
      StackMap stack:
            aload 11 /* document */
            aload 12 /* tagOffsets */
            iload 13 /* i */
            iaload
            aload 10 /* position */
            invokevirtual org.eclipse.jface.text.templates.TemplateVariable.getLength:()I
            aload 2 /* providesNames */
            aload 3 /* usesNames */
        24: .line 548
            aload 4 /* lineDelimiter */
        25: .line 547
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.insertModuleTags:(Lorg/eclipse/jface/text/IDocument;II[Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
        26: .line 549
            goto 29
      StackMap locals:
      StackMap stack: org.eclipse.jface.text.BadLocationException
        27: astore 14 /* e */
        start local 14 // org.eclipse.jface.text.BadLocationException e
        28: .line 550
            new org.eclipse.core.runtime.CoreException
            dup
            new org.eclipse.core.runtime.Status
            dup
            iconst_4
            invokestatic org.eclipse.jdt.internal.core.manipulation.JavaManipulationPlugin.getPluginId:()Ljava/lang/String;
            iconst_4
            aload 14 /* e */
            invokevirtual org.eclipse.jface.text.BadLocationException.getMessage:()Ljava/lang/String;
            aload 14 /* e */
            invokespecial org.eclipse.core.runtime.Status.<init>:(ILjava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
            invokespecial org.eclipse.core.runtime.CoreException.<init>:(Lorg/eclipse/core/runtime/IStatus;)V
            athrow
        end local 14 // org.eclipse.jface.text.BadLocationException e
        29: .line 545
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ -1
      StackMap locals:
      StackMap stack:
        30: iload 13 /* i */
            ifge 23
        end local 13 // int i
        31: .line 553
            aload 11 /* document */
            invokeinterface org.eclipse.jface.text.IDocument.get:()Ljava/lang/String;
            areturn
        end local 12 // int[] tagOffsets
        end local 11 // org.eclipse.jface.text.IDocument document
        end local 10 // org.eclipse.jface.text.templates.TemplateVariable position
        end local 9 // java.lang.String str
        end local 8 // org.eclipse.jface.text.templates.TemplateBuffer buffer
        end local 7 // org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext context
        end local 6 // org.eclipse.jface.text.templates.Template template
        end local 5 // java.lang.String templateName
        end local 4 // java.lang.String lineDelimiter
        end local 3 // java.lang.String[] usesNames
        end local 2 // java.lang.String[] providesNames
        end local 1 // java.lang.String moduleName
        end local 0 // org.eclipse.jdt.core.ICompilationUnit cu
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   32     0             cu  Lorg/eclipse/jdt/core/ICompilationUnit;
            0   32     1     moduleName  Ljava/lang/String;
            0   32     2  providesNames  [Ljava/lang/String;
            0   32     3      usesNames  [Ljava/lang/String;
            0   32     4  lineDelimiter  Ljava/lang/String;
            1   32     5   templateName  Ljava/lang/String;
            2   32     6       template  Lorg/eclipse/jface/text/templates/Template;
            5   32     7        context  Lorg/eclipse/jdt/internal/core/manipulation/CodeTemplateContext;
            8    9     8         buffer  Lorg/eclipse/jface/text/templates/TemplateBuffer;
           13   32     8         buffer  Lorg/eclipse/jface/text/templates/TemplateBuffer;
           14   32     9            str  Ljava/lang/String;
           17   32    10       position  Lorg/eclipse/jface/text/templates/TemplateVariable;
           20   32    11       document  Lorg/eclipse/jface/text/IDocument;
           21   32    12     tagOffsets  [I
           22   31    13              i  I
           28   29    14              e  Lorg/eclipse/jface/text/BadLocationException;
      Exception table:
        from    to  target  type
           7     8       9  Class org.eclipse.jface.text.BadLocationException
           7     8      11  Class org.eclipse.jface.text.templates.TemplateException
          23    26      27  Class org.eclipse.jface.text.BadLocationException
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
               Name  Flags
      cu             
      moduleName     
      providesNames  
      usesNames      
      lineDelimiter  

  private static void insertModuleTags(org.eclipse.jface.text.IDocument, int, int, java.lang.String[], java.lang.String[], java.lang.String);
    descriptor: (Lorg/eclipse/jface/text/IDocument;II[Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=12, args_size=6
        start local 0 // org.eclipse.jface.text.IDocument textBuffer
        start local 1 // int offset
        start local 2 // int length
        start local 3 // java.lang.String[] providesNames
        start local 4 // java.lang.String[] usesNames
        start local 5 // java.lang.String lineDelimiter
         0: .line 558
            aload 0 /* textBuffer */
            iload 1 /* offset */
            invokeinterface org.eclipse.jface.text.IDocument.getLineInformationOfOffset:(I)Lorg/eclipse/jface/text/IRegion;
            astore 6 /* region */
        start local 6 // org.eclipse.jface.text.IRegion region
         1: .line 559
            aload 6 /* region */
            ifnonnull 3
         2: .line 560
            return
         3: .line 562
      StackMap locals: org.eclipse.jface.text.IRegion
      StackMap stack:
            aload 0 /* textBuffer */
            aload 6 /* region */
            invokeinterface org.eclipse.jface.text.IRegion.getOffset:()I
            iload 1 /* offset */
            aload 6 /* region */
            invokeinterface org.eclipse.jface.text.IRegion.getOffset:()I
            isub
            invokeinterface org.eclipse.jface.text.IDocument.get:(II)Ljava/lang/String;
            astore 7 /* lineStart */
        start local 7 // java.lang.String lineStart
         4: .line 564
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 8 /* buf */
        start local 8 // java.lang.StringBuilder buf
         5: .line 565
            iconst_0
            istore 9 /* i */
        start local 9 // int i
         6: goto 11
         7: .line 566
      StackMap locals: java.lang.String java.lang.StringBuilder int
      StackMap stack:
            aload 8 /* buf */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 9
         8: .line 567
            aload 8 /* buf */
            aload 5 /* lineDelimiter */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* lineStart */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 569
      StackMap locals:
      StackMap stack:
            aload 8 /* buf */
            ldc "@provides "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* providesNames */
            iload 9 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 565
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 9 /* i */
            aload 3 /* providesNames */
            arraylength
            if_icmplt 7
        end local 9 // int i
        12: .line 571
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        13: goto 18
        14: .line 572
      StackMap locals:
      StackMap stack:
            aload 8 /* buf */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 16
        15: .line 573
            aload 8 /* buf */
            aload 5 /* lineDelimiter */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* lineStart */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        16: .line 575
      StackMap locals:
      StackMap stack:
            aload 8 /* buf */
            ldc "@uses "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* usesNames */
            iload 9 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        17: .line 571
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 9 /* i */
            aload 4 /* usesNames */
            arraylength
            if_icmplt 14
        end local 9 // int i
        19: .line 577
            aload 8 /* buf */
            invokevirtual java.lang.StringBuilder.length:()I
            ifne 26
            aload 7 /* lineStart */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.isAllCommentWhitespace:(Ljava/lang/String;)Z
            ifeq 26
        20: .line 578
            aload 0 /* textBuffer */
            iload 1 /* offset */
            invokeinterface org.eclipse.jface.text.IDocument.getLineOfOffset:(I)I
            iconst_1
            isub
            istore 9 /* prevLine */
        start local 9 // int prevLine
        21: .line 579
            iload 9 /* prevLine */
            ifle 26
        22: .line 580
            aload 0 /* textBuffer */
            iload 9 /* prevLine */
            invokeinterface org.eclipse.jface.text.IDocument.getLineInformation:(I)Lorg/eclipse/jface/text/IRegion;
            astore 10 /* prevRegion */
        start local 10 // org.eclipse.jface.text.IRegion prevRegion
        23: .line 581
            aload 10 /* prevRegion */
            invokeinterface org.eclipse.jface.text.IRegion.getOffset:()I
            aload 10 /* prevRegion */
            invokeinterface org.eclipse.jface.text.IRegion.getLength:()I
            iadd
            istore 11 /* prevLineEnd */
        start local 11 // int prevLineEnd
        24: .line 583
            aload 0 /* textBuffer */
            iload 11 /* prevLineEnd */
            iload 1 /* offset */
            iload 2 /* length */
            iadd
            iload 11 /* prevLineEnd */
            isub
            ldc ""
            invokeinterface org.eclipse.jface.text.IDocument.replace:(IILjava/lang/String;)V
        25: .line 584
            return
        end local 11 // int prevLineEnd
        end local 10 // org.eclipse.jface.text.IRegion prevRegion
        end local 9 // int prevLine
        26: .line 587
      StackMap locals:
      StackMap stack:
            aload 0 /* textBuffer */
            iload 1 /* offset */
            iload 2 /* length */
            aload 8 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.eclipse.jface.text.IDocument.replace:(IILjava/lang/String;)V
        27: .line 588
            return
        end local 8 // java.lang.StringBuilder buf
        end local 7 // java.lang.String lineStart
        end local 6 // org.eclipse.jface.text.IRegion region
        end local 5 // java.lang.String lineDelimiter
        end local 4 // java.lang.String[] usesNames
        end local 3 // java.lang.String[] providesNames
        end local 2 // int length
        end local 1 // int offset
        end local 0 // org.eclipse.jface.text.IDocument textBuffer
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   28     0     textBuffer  Lorg/eclipse/jface/text/IDocument;
            0   28     1         offset  I
            0   28     2         length  I
            0   28     3  providesNames  [Ljava/lang/String;
            0   28     4      usesNames  [Ljava/lang/String;
            0   28     5  lineDelimiter  Ljava/lang/String;
            1   28     6         region  Lorg/eclipse/jface/text/IRegion;
            4   28     7      lineStart  Ljava/lang/String;
            5   28     8            buf  Ljava/lang/StringBuilder;
            6   12     9              i  I
           13   19     9              i  I
           21   26     9       prevLine  I
           23   26    10     prevRegion  Lorg/eclipse/jface/text/IRegion;
           24   26    11    prevLineEnd  I
    Exceptions:
      throws org.eclipse.jface.text.BadLocationException
    MethodParameters:
               Name  Flags
      textBuffer     
      offset         
      length         
      providesNames  
      usesNames      
      lineDelimiter  

  public static java.lang.String getFieldComment(org.eclipse.jdt.core.ICompilationUnit, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Lorg/eclipse/jdt/core/ICompilationUnit;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // org.eclipse.jdt.core.ICompilationUnit cu
        start local 1 // java.lang.String typeName
        start local 2 // java.lang.String fieldName
        start local 3 // java.lang.String lineDelimiter
         0: .line 594
            ldc "org.eclipse.jdt.ui.text.codetemplates.fieldcomment"
            aload 0 /* cu */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getCodeTemplate:(Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jface/text/templates/Template;
            astore 4 /* template */
        start local 4 // org.eclipse.jface.text.templates.Template template
         1: .line 595
            aload 4 /* template */
            ifnonnull 3
         2: .line 596
            aconst_null
            areturn
         3: .line 598
      StackMap locals: org.eclipse.jface.text.templates.Template
      StackMap stack:
            new org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext
            dup
            aload 4 /* template */
            invokevirtual org.eclipse.jface.text.templates.Template.getContextTypeId:()Ljava/lang/String;
            aload 0 /* cu */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            aload 3 /* lineDelimiter */
            invokespecial org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.<init>:(Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;)V
            astore 5 /* context */
        start local 5 // org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext context
         4: .line 599
            aload 5 /* context */
            aload 0 /* cu */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setCompilationUnitVariables:(Lorg/eclipse/jdt/core/ICompilationUnit;)V
         5: .line 600
            aload 5 /* context */
            ldc "field_type"
            aload 1 /* typeName */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
         6: .line 601
            aload 5 /* context */
            ldc "field"
            aload 2 /* fieldName */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
         7: .line 603
            aload 5 /* context */
            aload 4 /* template */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.evaluateTemplate:(Lorg/eclipse/jdt/internal/core/manipulation/CodeTemplateContext;Lorg/eclipse/jface/text/templates/Template;)Ljava/lang/String;
            areturn
        end local 5 // org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext context
        end local 4 // org.eclipse.jface.text.templates.Template template
        end local 3 // java.lang.String lineDelimiter
        end local 2 // java.lang.String fieldName
        end local 1 // java.lang.String typeName
        end local 0 // org.eclipse.jdt.core.ICompilationUnit cu
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0             cu  Lorg/eclipse/jdt/core/ICompilationUnit;
            0    8     1       typeName  Ljava/lang/String;
            0    8     2      fieldName  Ljava/lang/String;
            0    8     3  lineDelimiter  Ljava/lang/String;
            1    8     4       template  Lorg/eclipse/jface/text/templates/Template;
            4    8     5        context  Lorg/eclipse/jdt/internal/core/manipulation/CodeTemplateContext;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
               Name  Flags
      cu             
      typeName       
      fieldName      
      lineDelimiter  

  public static java.lang.String getSetterComment(org.eclipse.jdt.core.ICompilationUnit, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Lorg/eclipse/jdt/core/ICompilationUnit;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=11, args_size=8
        start local 0 // org.eclipse.jdt.core.ICompilationUnit cu
        start local 1 // java.lang.String typeName
        start local 2 // java.lang.String methodName
        start local 3 // java.lang.String fieldName
        start local 4 // java.lang.String fieldType
        start local 5 // java.lang.String paramName
        start local 6 // java.lang.String bareFieldName
        start local 7 // java.lang.String lineDelimiter
         0: .line 613
            ldc "org.eclipse.jdt.ui.text.codetemplates.settercomment"
            astore 8 /* templateName */
        start local 8 // java.lang.String templateName
         1: .line 614
            aload 8 /* templateName */
            aload 0 /* cu */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getCodeTemplate:(Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jface/text/templates/Template;
            astore 9 /* template */
        start local 9 // org.eclipse.jface.text.templates.Template template
         2: .line 615
            aload 9 /* template */
            ifnonnull 4
         3: .line 616
            aconst_null
            areturn
         4: .line 619
      StackMap locals: java.lang.String org.eclipse.jface.text.templates.Template
      StackMap stack:
            new org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext
            dup
            aload 9 /* template */
            invokevirtual org.eclipse.jface.text.templates.Template.getContextTypeId:()Ljava/lang/String;
            aload 0 /* cu */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            aload 7 /* lineDelimiter */
            invokespecial org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.<init>:(Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;)V
            astore 10 /* context */
        start local 10 // org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext context
         5: .line 620
            aload 10 /* context */
            aload 0 /* cu */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setCompilationUnitVariables:(Lorg/eclipse/jdt/core/ICompilationUnit;)V
         6: .line 621
            aload 10 /* context */
            ldc "enclosing_type"
            aload 1 /* typeName */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
         7: .line 622
            aload 10 /* context */
            ldc "enclosing_method"
            aload 2 /* methodName */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
         8: .line 623
            aload 10 /* context */
            ldc "field"
            aload 3 /* fieldName */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
         9: .line 624
            aload 10 /* context */
            ldc "field_type"
            aload 4 /* fieldType */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
        10: .line 625
            aload 10 /* context */
            ldc "bare_field_name"
            aload 6 /* bareFieldName */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
        11: .line 626
            aload 10 /* context */
            ldc "param"
            aload 5 /* paramName */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
        12: .line 628
            aload 10 /* context */
            aload 9 /* template */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.evaluateTemplate:(Lorg/eclipse/jdt/internal/core/manipulation/CodeTemplateContext;Lorg/eclipse/jface/text/templates/Template;)Ljava/lang/String;
            areturn
        end local 10 // org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext context
        end local 9 // org.eclipse.jface.text.templates.Template template
        end local 8 // java.lang.String templateName
        end local 7 // java.lang.String lineDelimiter
        end local 6 // java.lang.String bareFieldName
        end local 5 // java.lang.String paramName
        end local 4 // java.lang.String fieldType
        end local 3 // java.lang.String fieldName
        end local 2 // java.lang.String methodName
        end local 1 // java.lang.String typeName
        end local 0 // org.eclipse.jdt.core.ICompilationUnit cu
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0             cu  Lorg/eclipse/jdt/core/ICompilationUnit;
            0   13     1       typeName  Ljava/lang/String;
            0   13     2     methodName  Ljava/lang/String;
            0   13     3      fieldName  Ljava/lang/String;
            0   13     4      fieldType  Ljava/lang/String;
            0   13     5      paramName  Ljava/lang/String;
            0   13     6  bareFieldName  Ljava/lang/String;
            0   13     7  lineDelimiter  Ljava/lang/String;
            1   13     8   templateName  Ljava/lang/String;
            2   13     9       template  Lorg/eclipse/jface/text/templates/Template;
            5   13    10        context  Lorg/eclipse/jdt/internal/core/manipulation/CodeTemplateContext;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
               Name  Flags
      cu             
      typeName       
      methodName     
      fieldName      
      fieldType      
      paramName      
      bareFieldName  
      lineDelimiter  

  public static java.lang.String getGetterComment(org.eclipse.jdt.core.ICompilationUnit, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Lorg/eclipse/jdt/core/ICompilationUnit;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=7
        start local 0 // org.eclipse.jdt.core.ICompilationUnit cu
        start local 1 // java.lang.String typeName
        start local 2 // java.lang.String methodName
        start local 3 // java.lang.String fieldName
        start local 4 // java.lang.String fieldType
        start local 5 // java.lang.String bareFieldName
        start local 6 // java.lang.String lineDelimiter
         0: .line 636
            ldc "org.eclipse.jdt.ui.text.codetemplates.gettercomment"
            astore 7 /* templateName */
        start local 7 // java.lang.String templateName
         1: .line 637
            aload 7 /* templateName */
            aload 0 /* cu */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getCodeTemplate:(Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jface/text/templates/Template;
            astore 8 /* template */
        start local 8 // org.eclipse.jface.text.templates.Template template
         2: .line 638
            aload 8 /* template */
            ifnonnull 4
         3: .line 639
            aconst_null
            areturn
         4: .line 641
      StackMap locals: java.lang.String org.eclipse.jface.text.templates.Template
      StackMap stack:
            new org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext
            dup
            aload 8 /* template */
            invokevirtual org.eclipse.jface.text.templates.Template.getContextTypeId:()Ljava/lang/String;
            aload 0 /* cu */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            aload 6 /* lineDelimiter */
            invokespecial org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.<init>:(Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;)V
            astore 9 /* context */
        start local 9 // org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext context
         5: .line 642
            aload 9 /* context */
            aload 0 /* cu */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setCompilationUnitVariables:(Lorg/eclipse/jdt/core/ICompilationUnit;)V
         6: .line 643
            aload 9 /* context */
            ldc "enclosing_type"
            aload 1 /* typeName */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
         7: .line 644
            aload 9 /* context */
            ldc "enclosing_method"
            aload 2 /* methodName */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
         8: .line 645
            aload 9 /* context */
            ldc "field"
            aload 3 /* fieldName */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
         9: .line 646
            aload 9 /* context */
            ldc "field_type"
            aload 4 /* fieldType */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
        10: .line 647
            aload 9 /* context */
            ldc "bare_field_name"
            aload 5 /* bareFieldName */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
        11: .line 649
            aload 9 /* context */
            aload 8 /* template */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.evaluateTemplate:(Lorg/eclipse/jdt/internal/core/manipulation/CodeTemplateContext;Lorg/eclipse/jface/text/templates/Template;)Ljava/lang/String;
            areturn
        end local 9 // org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext context
        end local 8 // org.eclipse.jface.text.templates.Template template
        end local 7 // java.lang.String templateName
        end local 6 // java.lang.String lineDelimiter
        end local 5 // java.lang.String bareFieldName
        end local 4 // java.lang.String fieldType
        end local 3 // java.lang.String fieldName
        end local 2 // java.lang.String methodName
        end local 1 // java.lang.String typeName
        end local 0 // org.eclipse.jdt.core.ICompilationUnit cu
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   12     0             cu  Lorg/eclipse/jdt/core/ICompilationUnit;
            0   12     1       typeName  Ljava/lang/String;
            0   12     2     methodName  Ljava/lang/String;
            0   12     3      fieldName  Ljava/lang/String;
            0   12     4      fieldType  Ljava/lang/String;
            0   12     5  bareFieldName  Ljava/lang/String;
            0   12     6  lineDelimiter  Ljava/lang/String;
            1   12     7   templateName  Ljava/lang/String;
            2   12     8       template  Lorg/eclipse/jface/text/templates/Template;
            5   12     9        context  Lorg/eclipse/jdt/internal/core/manipulation/CodeTemplateContext;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
               Name  Flags
      cu             
      typeName       
      methodName     
      fieldName      
      fieldType      
      bareFieldName  
      lineDelimiter  

  private static java.lang.String evaluateTemplate(org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext, org.eclipse.jface.text.templates.Template);
    descriptor: (Lorg/eclipse/jdt/internal/core/manipulation/CodeTemplateContext;Lorg/eclipse/jface/text/templates/Template;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext context
        start local 1 // org.eclipse.jface.text.templates.Template template
         0: .line 655
            aload 0 /* context */
            aload 1 /* template */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.evaluate:(Lorg/eclipse/jface/text/templates/Template;)Lorg/eclipse/jface/text/templates/TemplateBuffer;
            astore 2 /* buffer */
        start local 2 // org.eclipse.jface.text.templates.TemplateBuffer buffer
         1: .line 656
            goto 6
        end local 2 // org.eclipse.jface.text.templates.TemplateBuffer buffer
      StackMap locals:
      StackMap stack: org.eclipse.jface.text.BadLocationException
         2: pop
         3: .line 657
            new org.eclipse.core.runtime.CoreException
            dup
            getstatic org.eclipse.core.runtime.Status.CANCEL_STATUS:Lorg/eclipse/core/runtime/IStatus;
            invokespecial org.eclipse.core.runtime.CoreException.<init>:(Lorg/eclipse/core/runtime/IStatus;)V
            athrow
         4: .line 658
      StackMap locals:
      StackMap stack: org.eclipse.jface.text.templates.TemplateException
            pop
         5: .line 659
            new org.eclipse.core.runtime.CoreException
            dup
            getstatic org.eclipse.core.runtime.Status.CANCEL_STATUS:Lorg/eclipse/core/runtime/IStatus;
            invokespecial org.eclipse.core.runtime.CoreException.<init>:(Lorg/eclipse/core/runtime/IStatus;)V
            athrow
        start local 2 // org.eclipse.jface.text.templates.TemplateBuffer buffer
         6: .line 661
      StackMap locals: org.eclipse.jface.text.templates.TemplateBuffer
      StackMap stack:
            aload 2 /* buffer */
            ifnonnull 8
         7: .line 662
            aconst_null
            areturn
         8: .line 663
      StackMap locals:
      StackMap stack:
            aload 2 /* buffer */
            invokevirtual org.eclipse.jface.text.templates.TemplateBuffer.getString:()Ljava/lang/String;
            astore 3 /* str */
        start local 3 // java.lang.String str
         9: .line 664
            aload 3 /* str */
            invokestatic org.eclipse.jdt.internal.core.manipulation.util.Strings.containsOnlyWhitespaces:(Ljava/lang/String;)Z
            ifeq 11
        10: .line 665
            aconst_null
            areturn
        11: .line 667
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* str */
            areturn
        end local 3 // java.lang.String str
        end local 2 // org.eclipse.jface.text.templates.TemplateBuffer buffer
        end local 1 // org.eclipse.jface.text.templates.Template template
        end local 0 // org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0   context  Lorg/eclipse/jdt/internal/core/manipulation/CodeTemplateContext;
            0   12     1  template  Lorg/eclipse/jface/text/templates/Template;
            1    2     2    buffer  Lorg/eclipse/jface/text/templates/TemplateBuffer;
            6   12     2    buffer  Lorg/eclipse/jface/text/templates/TemplateBuffer;
            9   12     3       str  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     1       2  Class org.eclipse.jface.text.BadLocationException
           0     1       4  Class org.eclipse.jface.text.templates.TemplateException
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
          Name  Flags
      context   
      template  

  private static java.lang.String evaluateTemplate(org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext, org.eclipse.jface.text.templates.Template, java.lang.String[]);
    descriptor: (Lorg/eclipse/jdt/internal/core/manipulation/CodeTemplateContext;Lorg/eclipse/jface/text/templates/Template;[Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext context
        start local 1 // org.eclipse.jface.text.templates.Template template
        start local 2 // java.lang.String[] fullLineVariables
         0: .line 673
            aload 0 /* context */
            aload 1 /* template */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.evaluate:(Lorg/eclipse/jface/text/templates/Template;)Lorg/eclipse/jface/text/templates/TemplateBuffer;
            astore 3 /* buffer */
        start local 3 // org.eclipse.jface.text.templates.TemplateBuffer buffer
         1: .line 674
            aload 3 /* buffer */
            ifnonnull 3
         2: .line 675
            aconst_null
            areturn
         3: .line 676
      StackMap locals: org.eclipse.jface.text.templates.TemplateBuffer
      StackMap stack:
            aload 3 /* buffer */
            aload 2 /* fullLineVariables */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.fixEmptyVariables:(Lorg/eclipse/jface/text/templates/TemplateBuffer;[Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* str */
        start local 4 // java.lang.String str
         4: .line 677
            aload 4 /* str */
            invokestatic org.eclipse.jdt.internal.core.manipulation.util.Strings.containsOnlyWhitespaces:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 678
            aconst_null
            areturn
         6: .line 680
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* str */
         7: areturn
        end local 4 // java.lang.String str
        end local 3 // org.eclipse.jface.text.templates.TemplateBuffer buffer
         8: .line 681
      StackMap locals: org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext org.eclipse.jface.text.templates.Template java.lang.String[]
      StackMap stack: org.eclipse.jface.text.BadLocationException
            pop
         9: .line 682
            new org.eclipse.core.runtime.CoreException
            dup
            getstatic org.eclipse.core.runtime.Status.CANCEL_STATUS:Lorg/eclipse/core/runtime/IStatus;
            invokespecial org.eclipse.core.runtime.CoreException.<init>:(Lorg/eclipse/core/runtime/IStatus;)V
            athrow
        10: .line 683
      StackMap locals:
      StackMap stack: org.eclipse.jface.text.templates.TemplateException
            pop
        11: .line 684
            new org.eclipse.core.runtime.CoreException
            dup
            getstatic org.eclipse.core.runtime.Status.CANCEL_STATUS:Lorg/eclipse/core/runtime/IStatus;
            invokespecial org.eclipse.core.runtime.CoreException.<init>:(Lorg/eclipse/core/runtime/IStatus;)V
            athrow
        end local 2 // java.lang.String[] fullLineVariables
        end local 1 // org.eclipse.jface.text.templates.Template template
        end local 0 // org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext context
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   12     0            context  Lorg/eclipse/jdt/internal/core/manipulation/CodeTemplateContext;
            0   12     1           template  Lorg/eclipse/jface/text/templates/Template;
            0   12     2  fullLineVariables  [Ljava/lang/String;
            1    8     3             buffer  Lorg/eclipse/jface/text/templates/TemplateBuffer;
            4    8     4                str  Ljava/lang/String;
      Exception table:
        from    to  target  type
           0     2       8  Class org.eclipse.jface.text.BadLocationException
           3     5       8  Class org.eclipse.jface.text.BadLocationException
           6     7       8  Class org.eclipse.jface.text.BadLocationException
           0     2      10  Class org.eclipse.jface.text.templates.TemplateException
           3     5      10  Class org.eclipse.jface.text.templates.TemplateException
           6     7      10  Class org.eclipse.jface.text.templates.TemplateException
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
                   Name  Flags
      context            
      template           
      fullLineVariables  

  public static java.lang.String getMethodComment(org.eclipse.jdt.core.ICompilationUnit, java.lang.String, org.eclipse.jdt.core.dom.MethodDeclaration, boolean, java.lang.String, java.lang.String, java.lang.String[], boolean, java.lang.String);
    descriptor: (Lorg/eclipse/jdt/core/ICompilationUnit;Ljava/lang/String;Lorg/eclipse/jdt/core/dom/MethodDeclaration;ZLjava/lang/String;Ljava/lang/String;[Ljava/lang/String;ZLjava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=26, args_size=9
        start local 0 // org.eclipse.jdt.core.ICompilationUnit cu
        start local 1 // java.lang.String typeName
        start local 2 // org.eclipse.jdt.core.dom.MethodDeclaration decl
        start local 3 // boolean isDeprecated
        start local 4 // java.lang.String targetName
        start local 5 // java.lang.String targetMethodDeclaringTypeName
        start local 6 // java.lang.String[] targetMethodParameterTypeNames
        start local 7 // boolean delegate
        start local 8 // java.lang.String lineDelimiter
         0: .line 696
            aload 5 /* targetMethodDeclaringTypeName */
            ifnull 1
            aload 6 /* targetMethodParameterTypeNames */
            ifnull 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 9 /* needsTarget */
        start local 9 // boolean needsTarget
         3: .line 697
            ldc "org.eclipse.jdt.ui.text.codetemplates.methodcomment"
            astore 10 /* templateName */
        start local 10 // java.lang.String templateName
         4: .line 698
            aload 2 /* decl */
            invokevirtual org.eclipse.jdt.core.dom.MethodDeclaration.isConstructor:()Z
            ifeq 7
         5: .line 699
            ldc "org.eclipse.jdt.ui.text.codetemplates.constructorcomment"
            astore 10 /* templateName */
         6: .line 700
            goto 11
      StackMap locals: int java.lang.String
      StackMap stack:
         7: iload 9 /* needsTarget */
            ifeq 11
         8: .line 701
            iload 7 /* delegate */
            ifeq 10
         9: .line 702
            ldc "org.eclipse.jdt.ui.text.codetemplates.delegatecomment"
            astore 10 /* templateName */
            goto 11
        10: .line 704
      StackMap locals:
      StackMap stack:
            ldc "org.eclipse.jdt.ui.text.codetemplates.overridecomment"
            astore 10 /* templateName */
        11: .line 706
      StackMap locals:
      StackMap stack:
            aload 10 /* templateName */
            aload 0 /* cu */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getCodeTemplate:(Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jface/text/templates/Template;
            astore 11 /* template */
        start local 11 // org.eclipse.jface.text.templates.Template template
        12: .line 707
            aload 11 /* template */
            ifnonnull 14
        13: .line 708
            aconst_null
            areturn
        14: .line 710
      StackMap locals: org.eclipse.jface.text.templates.Template
      StackMap stack:
            new org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext
            dup
            aload 11 /* template */
            invokevirtual org.eclipse.jface.text.templates.Template.getContextTypeId:()Ljava/lang/String;
            aload 0 /* cu */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            aload 8 /* lineDelimiter */
            invokespecial org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.<init>:(Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;)V
            astore 12 /* context */
        start local 12 // org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext context
        15: .line 711
            aload 12 /* context */
            aload 0 /* cu */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setCompilationUnitVariables:(Lorg/eclipse/jdt/core/ICompilationUnit;)V
        16: .line 712
            aload 12 /* context */
            ldc "enclosing_type"
            aload 1 /* typeName */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
        17: .line 713
            aload 12 /* context */
            ldc "enclosing_method"
            aload 2 /* decl */
            invokevirtual org.eclipse.jdt.core.dom.MethodDeclaration.getName:()Lorg/eclipse/jdt/core/dom/SimpleName;
            invokevirtual org.eclipse.jdt.core.dom.SimpleName.getIdentifier:()Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
        18: .line 714
            aload 2 /* decl */
            invokevirtual org.eclipse.jdt.core.dom.MethodDeclaration.isConstructor:()Z
            ifne 20
        19: .line 715
            aload 12 /* context */
            ldc "return_type"
            aload 2 /* decl */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getReturnType:(Lorg/eclipse/jdt/core/dom/MethodDeclaration;)Lorg/eclipse/jdt/core/dom/ASTNode;
            invokestatic org.eclipse.jdt.internal.corext.dom.ASTNodes.asString:(Lorg/eclipse/jdt/core/dom/ASTNode;)Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
        20: .line 717
      StackMap locals: org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext
      StackMap stack:
            iload 9 /* needsTarget */
            ifeq 24
        21: .line 718
            iload 7 /* delegate */
            ifeq 23
        22: .line 719
            aload 12 /* context */
            ldc "see_to_target"
            aload 5 /* targetMethodDeclaringTypeName */
            aload 4 /* targetName */
            aload 6 /* targetMethodParameterTypeNames */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getSeeTag:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
            goto 24
        23: .line 721
      StackMap locals:
      StackMap stack:
            aload 12 /* context */
            ldc "see_to_overridden"
            aload 5 /* targetMethodDeclaringTypeName */
            aload 4 /* targetName */
            aload 6 /* targetMethodParameterTypeNames */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getSeeTag:(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.setVariable:(Ljava/lang/String;Ljava/lang/String;)V
        24: .line 726
      StackMap locals:
      StackMap stack:
            aload 12 /* context */
            aload 11 /* template */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext.evaluate:(Lorg/eclipse/jface/text/templates/Template;)Lorg/eclipse/jface/text/templates/TemplateBuffer;
            astore 13 /* buffer */
        start local 13 // org.eclipse.jface.text.templates.TemplateBuffer buffer
        25: .line 727
            goto 30
        end local 13 // org.eclipse.jface.text.templates.TemplateBuffer buffer
      StackMap locals:
      StackMap stack: org.eclipse.jface.text.BadLocationException
        26: pop
        27: .line 728
            new org.eclipse.core.runtime.CoreException
            dup
            getstatic org.eclipse.core.runtime.Status.CANCEL_STATUS:Lorg/eclipse/core/runtime/IStatus;
            invokespecial org.eclipse.core.runtime.CoreException.<init>:(Lorg/eclipse/core/runtime/IStatus;)V
            athrow
        28: .line 729
      StackMap locals:
      StackMap stack: org.eclipse.jface.text.templates.TemplateException
            pop
        29: .line 730
            new org.eclipse.core.runtime.CoreException
            dup
            getstatic org.eclipse.core.runtime.Status.CANCEL_STATUS:Lorg/eclipse/core/runtime/IStatus;
            invokespecial org.eclipse.core.runtime.CoreException.<init>:(Lorg/eclipse/core/runtime/IStatus;)V
            athrow
        start local 13 // org.eclipse.jface.text.templates.TemplateBuffer buffer
        30: .line 732
      StackMap locals: org.eclipse.jface.text.templates.TemplateBuffer
      StackMap stack:
            aload 13 /* buffer */
            ifnonnull 32
        31: .line 733
            aconst_null
            areturn
        32: .line 734
      StackMap locals:
      StackMap stack:
            aload 13 /* buffer */
            invokevirtual org.eclipse.jface.text.templates.TemplateBuffer.getString:()Ljava/lang/String;
            astore 14 /* str */
        start local 14 // java.lang.String str
        33: .line 735
            aload 14 /* str */
            invokestatic org.eclipse.jdt.internal.core.manipulation.util.Strings.containsOnlyWhitespaces:(Ljava/lang/String;)Z
            ifeq 35
        34: .line 736
            aconst_null
            areturn
        35: .line 738
      StackMap locals: java.lang.String
      StackMap stack:
            aload 13 /* buffer */
            ldc "tags"
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.findVariable:(Lorg/eclipse/jface/text/templates/TemplateBuffer;Ljava/lang/String;)Lorg/eclipse/jface/text/templates/TemplateVariable;
            astore 15 /* position */
        start local 15 // org.eclipse.jface.text.templates.TemplateVariable position
        36: .line 739
            aload 15 /* position */
            ifnonnull 38
        37: .line 740
            aload 14 /* str */
            areturn
        38: .line 743
      StackMap locals: org.eclipse.jface.text.templates.TemplateVariable
      StackMap stack:
            new org.eclipse.jface.text.Document
            dup
            aload 14 /* str */
            invokespecial org.eclipse.jface.text.Document.<init>:(Ljava/lang/String;)V
            astore 16 /* textBuffer */
        start local 16 // org.eclipse.jface.text.IDocument textBuffer
        39: .line 744
            aload 2 /* decl */
            invokevirtual org.eclipse.jdt.core.dom.MethodDeclaration.typeParameters:()Ljava/util/List;
            astore 17 /* typeParams */
        start local 17 // java.util.List typeParams
        40: .line 745
            aload 17 /* typeParams */
            invokeinterface java.util.List.size:()I
            anewarray java.lang.String
            astore 18 /* typeParamNames */
        start local 18 // java.lang.String[] typeParamNames
        41: .line 746
            iconst_0
            istore 19 /* i */
        start local 19 // int i
        42: goto 46
        43: .line 747
      StackMap locals: org.eclipse.jdt.core.ICompilationUnit java.lang.String org.eclipse.jdt.core.dom.MethodDeclaration int java.lang.String java.lang.String java.lang.String[] int java.lang.String int java.lang.String org.eclipse.jface.text.templates.Template org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext org.eclipse.jface.text.templates.TemplateBuffer java.lang.String org.eclipse.jface.text.templates.TemplateVariable org.eclipse.jface.text.IDocument java.util.List java.lang.String[] int
      StackMap stack:
            aload 17 /* typeParams */
            iload 19 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.dom.TypeParameter
            astore 20 /* elem */
        start local 20 // org.eclipse.jdt.core.dom.TypeParameter elem
        44: .line 748
            aload 18 /* typeParamNames */
            iload 19 /* i */
            aload 20 /* elem */
            invokevirtual org.eclipse.jdt.core.dom.TypeParameter.getName:()Lorg/eclipse/jdt/core/dom/SimpleName;
            invokevirtual org.eclipse.jdt.core.dom.SimpleName.getIdentifier:()Ljava/lang/String;
            aastore
        end local 20 // org.eclipse.jdt.core.dom.TypeParameter elem
        45: .line 746
            iinc 19 /* i */ 1
      StackMap locals:
      StackMap stack:
        46: iload 19 /* i */
            aload 18 /* typeParamNames */
            arraylength
            if_icmplt 43
        end local 19 // int i
        47: .line 750
            aload 2 /* decl */
            invokevirtual org.eclipse.jdt.core.dom.MethodDeclaration.parameters:()Ljava/util/List;
            astore 19 /* params */
        start local 19 // java.util.List params
        48: .line 751
            aload 19 /* params */
            invokeinterface java.util.List.size:()I
            anewarray java.lang.String
            astore 20 /* paramNames */
        start local 20 // java.lang.String[] paramNames
        49: .line 752
            iconst_0
            istore 21 /* i */
        start local 21 // int i
        50: goto 54
        51: .line 753
      StackMap locals: org.eclipse.jdt.core.ICompilationUnit java.lang.String org.eclipse.jdt.core.dom.MethodDeclaration int java.lang.String java.lang.String java.lang.String[] int java.lang.String int java.lang.String org.eclipse.jface.text.templates.Template org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext org.eclipse.jface.text.templates.TemplateBuffer java.lang.String org.eclipse.jface.text.templates.TemplateVariable org.eclipse.jface.text.IDocument java.util.List java.lang.String[] java.util.List java.lang.String[] int
      StackMap stack:
            aload 19 /* params */
            iload 21 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.dom.SingleVariableDeclaration
            astore 22 /* elem */
        start local 22 // org.eclipse.jdt.core.dom.SingleVariableDeclaration elem
        52: .line 754
            aload 20 /* paramNames */
            iload 21 /* i */
            aload 22 /* elem */
            invokevirtual org.eclipse.jdt.core.dom.SingleVariableDeclaration.getName:()Lorg/eclipse/jdt/core/dom/SimpleName;
            invokevirtual org.eclipse.jdt.core.dom.SimpleName.getIdentifier:()Ljava/lang/String;
            aastore
        end local 22 // org.eclipse.jdt.core.dom.SingleVariableDeclaration elem
        53: .line 752
            iinc 21 /* i */ 1
      StackMap locals:
      StackMap stack:
        54: iload 21 /* i */
            aload 20 /* paramNames */
            arraylength
            if_icmplt 51
        end local 21 // int i
        55: .line 756
            aload 2 /* decl */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getExceptionNames:(Lorg/eclipse/jdt/core/dom/MethodDeclaration;)[Ljava/lang/String;
            astore 21 /* exceptionNames */
        start local 21 // java.lang.String[] exceptionNames
        56: .line 758
            aconst_null
            astore 22 /* returnType */
        start local 22 // java.lang.String returnType
        57: .line 759
            aload 2 /* decl */
            invokevirtual org.eclipse.jdt.core.dom.MethodDeclaration.isConstructor:()Z
            ifne 59
        58: .line 760
            aload 2 /* decl */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getReturnType:(Lorg/eclipse/jdt/core/dom/MethodDeclaration;)Lorg/eclipse/jdt/core/dom/ASTNode;
            invokestatic org.eclipse.jdt.internal.corext.dom.ASTNodes.asString:(Lorg/eclipse/jdt/core/dom/ASTNode;)Ljava/lang/String;
            astore 22 /* returnType */
        59: .line 762
      StackMap locals: org.eclipse.jdt.core.ICompilationUnit java.lang.String org.eclipse.jdt.core.dom.MethodDeclaration int java.lang.String java.lang.String java.lang.String[] int java.lang.String int java.lang.String org.eclipse.jface.text.templates.Template org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext org.eclipse.jface.text.templates.TemplateBuffer java.lang.String org.eclipse.jface.text.templates.TemplateVariable org.eclipse.jface.text.IDocument java.util.List java.lang.String[] java.util.List java.lang.String[] java.lang.String[] java.lang.String
      StackMap stack:
            aload 15 /* position */
            invokevirtual org.eclipse.jface.text.templates.TemplateVariable.getOffsets:()[I
            astore 23 /* tagOffsets */
        start local 23 // int[] tagOffsets
        60: .line 763
            aload 23 /* tagOffsets */
            arraylength
            iconst_1
            isub
            istore 24 /* i */
        start local 24 // int i
        61: goto 67
        62: .line 765
      StackMap locals: int[] int
      StackMap stack:
            aload 16 /* textBuffer */
            aload 23 /* tagOffsets */
            iload 24 /* i */
            iaload
            aload 15 /* position */
            invokevirtual org.eclipse.jface.text.templates.TemplateVariable.getLength:()I
            aload 20 /* paramNames */
            aload 21 /* exceptionNames */
            aload 22 /* returnType */
            aload 18 /* typeParamNames */
            iload 3 /* isDeprecated */
            aload 8 /* lineDelimiter */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.insertTag:(Lorg/eclipse/jface/text/IDocument;II[Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;ZLjava/lang/String;)V
        63: .line 766
            goto 66
      StackMap locals:
      StackMap stack: org.eclipse.jface.text.BadLocationException
        64: astore 25 /* e */
        start local 25 // org.eclipse.jface.text.BadLocationException e
        65: .line 767
            new org.eclipse.core.runtime.CoreException
            dup
            new org.eclipse.core.runtime.Status
            dup
            iconst_4
            invokestatic org.eclipse.jdt.internal.core.manipulation.JavaManipulationPlugin.getPluginId:()Ljava/lang/String;
            iconst_4
            aload 25 /* e */
            invokevirtual org.eclipse.jface.text.BadLocationException.getMessage:()Ljava/lang/String;
            aload 25 /* e */
            invokespecial org.eclipse.core.runtime.Status.<init>:(ILjava/lang/String;ILjava/lang/String;Ljava/lang/Throwable;)V
            invokespecial org.eclipse.core.runtime.CoreException.<init>:(Lorg/eclipse/core/runtime/IStatus;)V
            athrow
        end local 25 // org.eclipse.jface.text.BadLocationException e
        66: .line 763
      StackMap locals:
      StackMap stack:
            iinc 24 /* i */ -1
      StackMap locals:
      StackMap stack:
        67: iload 24 /* i */
            ifge 62
        end local 24 // int i
        68: .line 770
            aload 16 /* textBuffer */
            invokeinterface org.eclipse.jface.text.IDocument.get:()Ljava/lang/String;
            areturn
        end local 23 // int[] tagOffsets
        end local 22 // java.lang.String returnType
        end local 21 // java.lang.String[] exceptionNames
        end local 20 // java.lang.String[] paramNames
        end local 19 // java.util.List params
        end local 18 // java.lang.String[] typeParamNames
        end local 17 // java.util.List typeParams
        end local 16 // org.eclipse.jface.text.IDocument textBuffer
        end local 15 // org.eclipse.jface.text.templates.TemplateVariable position
        end local 14 // java.lang.String str
        end local 13 // org.eclipse.jface.text.templates.TemplateBuffer buffer
        end local 12 // org.eclipse.jdt.internal.core.manipulation.CodeTemplateContext context
        end local 11 // org.eclipse.jface.text.templates.Template template
        end local 10 // java.lang.String templateName
        end local 9 // boolean needsTarget
        end local 8 // java.lang.String lineDelimiter
        end local 7 // boolean delegate
        end local 6 // java.lang.String[] targetMethodParameterTypeNames
        end local 5 // java.lang.String targetMethodDeclaringTypeName
        end local 4 // java.lang.String targetName
        end local 3 // boolean isDeprecated
        end local 2 // org.eclipse.jdt.core.dom.MethodDeclaration decl
        end local 1 // java.lang.String typeName
        end local 0 // org.eclipse.jdt.core.ICompilationUnit cu
      LocalVariableTable:
        Start  End  Slot                            Name  Signature
            0   69     0                              cu  Lorg/eclipse/jdt/core/ICompilationUnit;
            0   69     1                        typeName  Ljava/lang/String;
            0   69     2                            decl  Lorg/eclipse/jdt/core/dom/MethodDeclaration;
            0   69     3                    isDeprecated  Z
            0   69     4                      targetName  Ljava/lang/String;
            0   69     5   targetMethodDeclaringTypeName  Ljava/lang/String;
            0   69     6  targetMethodParameterTypeNames  [Ljava/lang/String;
            0   69     7                        delegate  Z
            0   69     8                   lineDelimiter  Ljava/lang/String;
            3   69     9                     needsTarget  Z
            4   69    10                    templateName  Ljava/lang/String;
           12   69    11                        template  Lorg/eclipse/jface/text/templates/Template;
           15   69    12                         context  Lorg/eclipse/jdt/internal/core/manipulation/CodeTemplateContext;
           25   26    13                          buffer  Lorg/eclipse/jface/text/templates/TemplateBuffer;
           30   69    13                          buffer  Lorg/eclipse/jface/text/templates/TemplateBuffer;
           33   69    14                             str  Ljava/lang/String;
           36   69    15                        position  Lorg/eclipse/jface/text/templates/TemplateVariable;
           39   69    16                      textBuffer  Lorg/eclipse/jface/text/IDocument;
           40   69    17                      typeParams  Ljava/util/List<Lorg/eclipse/jdt/core/dom/TypeParameter;>;
           41   69    18                  typeParamNames  [Ljava/lang/String;
           42   47    19                               i  I
           44   45    20                            elem  Lorg/eclipse/jdt/core/dom/TypeParameter;
           48   69    19                          params  Ljava/util/List<Lorg/eclipse/jdt/core/dom/SingleVariableDeclaration;>;
           49   69    20                      paramNames  [Ljava/lang/String;
           50   55    21                               i  I
           52   53    22                            elem  Lorg/eclipse/jdt/core/dom/SingleVariableDeclaration;
           56   69    21                  exceptionNames  [Ljava/lang/String;
           57   69    22                      returnType  Ljava/lang/String;
           60   69    23                      tagOffsets  [I
           61   68    24                               i  I
           65   66    25                               e  Lorg/eclipse/jface/text/BadLocationException;
      Exception table:
        from    to  target  type
          24    25      26  Class org.eclipse.jface.text.BadLocationException
          24    25      28  Class org.eclipse.jface.text.templates.TemplateException
          62    63      64  Class org.eclipse.jface.text.BadLocationException
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
                                Name  Flags
      cu                              
      typeName                        
      decl                            
      isDeprecated                    
      targetName                      
      targetMethodDeclaringTypeName   
      targetMethodParameterTypeNames  
      delegate                        
      lineDelimiter                   

  private static java.lang.String[] getExceptionNames(org.eclipse.jdt.core.dom.MethodDeclaration);
    descriptor: (Lorg/eclipse/jdt/core/dom/MethodDeclaration;)[Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.MethodDeclaration decl
         0: .line 781
            aload 0 /* decl */
            invokevirtual org.eclipse.jdt.core.dom.MethodDeclaration.getAST:()Lorg/eclipse/jdt/core/dom/AST;
            invokevirtual org.eclipse.jdt.core.dom.AST.apiLevel:()I
            bipush 8
            if_icmplt 9
         1: .line 782
            aload 0 /* decl */
            invokevirtual org.eclipse.jdt.core.dom.MethodDeclaration.thrownExceptionTypes:()Ljava/util/List;
            astore 2 /* exceptions */
        start local 2 // java.util.List exceptions
         2: .line 783
            aload 2 /* exceptions */
            invokeinterface java.util.List.size:()I
            anewarray java.lang.String
            astore 1 /* exceptionNames */
        start local 1 // java.lang.String[] exceptionNames
         3: .line 784
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 7
         5: .line 785
      StackMap locals: java.lang.String[] java.util.List int
      StackMap stack:
            aload 1 /* exceptionNames */
            iload 3 /* i */
            aload 2 /* exceptions */
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.dom.Type
            invokestatic org.eclipse.jdt.internal.corext.dom.ASTNodes.getTypeName:(Lorg/eclipse/jdt/core/dom/Type;)Ljava/lang/String;
            aastore
         6: .line 784
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            aload 1 /* exceptionNames */
            arraylength
            if_icmplt 5
        end local 3 // int i
        end local 2 // java.util.List exceptions
         8: .line 787
            goto 16
        end local 1 // java.lang.String[] exceptionNames
         9: .line 788
      StackMap locals:
      StackMap stack:
            aload 0 /* decl */
            invokevirtual org.eclipse.jdt.core.dom.MethodDeclaration.thrownExceptions:()Ljava/util/List;
            astore 2 /* exceptions */
        start local 2 // java.util.List exceptions
        10: .line 789
            aload 2 /* exceptions */
            invokeinterface java.util.List.size:()I
            anewarray java.lang.String
            astore 1 /* exceptionNames */
        start local 1 // java.lang.String[] exceptionNames
        11: .line 790
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        12: goto 15
        13: .line 791
      StackMap locals: java.lang.String[] java.util.List int
      StackMap stack:
            aload 1 /* exceptionNames */
            iload 3 /* i */
            aload 2 /* exceptions */
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.dom.Name
            invokestatic org.eclipse.jdt.internal.corext.dom.ASTNodes.getSimpleNameIdentifier:(Lorg/eclipse/jdt/core/dom/Name;)Ljava/lang/String;
            aastore
        14: .line 790
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 3 /* i */
            aload 1 /* exceptionNames */
            arraylength
            if_icmplt 13
        end local 3 // int i
        end local 2 // java.util.List exceptions
        16: .line 794
      StackMap locals:
      StackMap stack:
            aload 1 /* exceptionNames */
            areturn
        end local 1 // java.lang.String[] exceptionNames
        end local 0 // org.eclipse.jdt.core.dom.MethodDeclaration decl
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   17     0            decl  Lorg/eclipse/jdt/core/dom/MethodDeclaration;
            3    9     1  exceptionNames  [Ljava/lang/String;
           11   17     1  exceptionNames  [Ljava/lang/String;
            2    8     2      exceptions  Ljava/util/List<Lorg/eclipse/jdt/core/dom/Type;>;
            4    8     3               i  I
           10   16     2      exceptions  Ljava/util/List<Lorg/eclipse/jdt/core/dom/Name;>;
           12   16     3               i  I
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      decl  

  public static boolean shouldGenerateMethodTypeParameterTags(org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.IJavaProject project
         0: .line 798
            ldc "enabled"
            aload 0 /* project */
            ldc "org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters"
            iconst_1
            invokeinterface org.eclipse.jdt.core.IJavaProject.getOption:(Ljava/lang/String;Z)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  project  Lorg/eclipse/jdt/core/IJavaProject;
    MethodParameters:
         Name  Flags
      project  

  private static org.eclipse.jdt.core.dom.ASTNode getReturnType(org.eclipse.jdt.core.dom.MethodDeclaration);
    descriptor: (Lorg/eclipse/jdt/core/dom/MethodDeclaration;)Lorg/eclipse/jdt/core/dom/ASTNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.MethodDeclaration decl
         0: .line 809
            aload 0 /* decl */
            invokevirtual org.eclipse.jdt.core.dom.MethodDeclaration.getAST:()Lorg/eclipse/jdt/core/dom/AST;
            invokevirtual org.eclipse.jdt.core.dom.AST.apiLevel:()I
            iconst_2
            if_icmpne 1
            aload 0 /* decl */
            invokevirtual org.eclipse.jdt.core.dom.MethodDeclaration.getReturnType:()Lorg/eclipse/jdt/core/dom/Type;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* decl */
            invokevirtual org.eclipse.jdt.core.dom.MethodDeclaration.getReturnType2:()Lorg/eclipse/jdt/core/dom/Type;
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.dom.Type
         2: areturn
        end local 0 // org.eclipse.jdt.core.dom.MethodDeclaration decl
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  decl  Lorg/eclipse/jdt/core/dom/MethodDeclaration;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      decl  

  private static org.eclipse.jface.text.templates.TemplateVariable findVariable(org.eclipse.jface.text.templates.TemplateBuffer, java.lang.String);
    descriptor: (Lorg/eclipse/jface/text/templates/TemplateBuffer;Ljava/lang/String;)Lorg/eclipse/jface/text/templates/TemplateVariable;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.eclipse.jface.text.templates.TemplateBuffer buffer
        start local 1 // java.lang.String variable
         0: .line 814
            aload 0 /* buffer */
            invokevirtual org.eclipse.jface.text.templates.TemplateBuffer.getVariables:()[Lorg/eclipse/jface/text/templates/TemplateVariable;
            astore 2 /* positions */
        start local 2 // org.eclipse.jface.text.templates.TemplateVariable[] positions
         1: .line 815
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 7
         3: .line 816
      StackMap locals: org.eclipse.jface.text.templates.TemplateVariable[] int
      StackMap stack:
            aload 2 /* positions */
            iload 3 /* i */
            aaload
            astore 4 /* curr */
        start local 4 // org.eclipse.jface.text.templates.TemplateVariable curr
         4: .line 817
            aload 1 /* variable */
            aload 4 /* curr */
            invokevirtual org.eclipse.jface.text.templates.TemplateVariable.getType:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 818
            aload 4 /* curr */
            areturn
        end local 4 // org.eclipse.jface.text.templates.TemplateVariable curr
         6: .line 815
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            aload 2 /* positions */
            arraylength
            if_icmplt 3
        end local 3 // int i
         8: .line 821
            aconst_null
            areturn
        end local 2 // org.eclipse.jface.text.templates.TemplateVariable[] positions
        end local 1 // java.lang.String variable
        end local 0 // org.eclipse.jface.text.templates.TemplateBuffer buffer
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0     buffer  Lorg/eclipse/jface/text/templates/TemplateBuffer;
            0    9     1   variable  Ljava/lang/String;
            1    9     2  positions  [Lorg/eclipse/jface/text/templates/TemplateVariable;
            2    8     3          i  I
            4    6     4       curr  Lorg/eclipse/jface/text/templates/TemplateVariable;
    MethodParameters:
          Name  Flags
      buffer    
      variable  

  private static void insertTag(org.eclipse.jface.text.IDocument, int, int, java.lang.String[], java.lang.String[], java.lang.String, java.lang.String[], boolean, java.lang.String);
    descriptor: (Lorg/eclipse/jface/text/IDocument;II[Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;ZLjava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=15, args_size=9
        start local 0 // org.eclipse.jface.text.IDocument textBuffer
        start local 1 // int offset
        start local 2 // int length
        start local 3 // java.lang.String[] paramNames
        start local 4 // java.lang.String[] exceptionNames
        start local 5 // java.lang.String returnType
        start local 6 // java.lang.String[] typeParameterNames
        start local 7 // boolean isDeprecated
        start local 8 // java.lang.String lineDelimiter
         0: .line 826
            aload 0 /* textBuffer */
            iload 1 /* offset */
            invokeinterface org.eclipse.jface.text.IDocument.getLineInformationOfOffset:(I)Lorg/eclipse/jface/text/IRegion;
            astore 9 /* region */
        start local 9 // org.eclipse.jface.text.IRegion region
         1: .line 827
            aload 9 /* region */
            ifnonnull 3
         2: .line 828
            return
         3: .line 830
      StackMap locals: org.eclipse.jface.text.IRegion
      StackMap stack:
            aload 0 /* textBuffer */
            aload 9 /* region */
            invokeinterface org.eclipse.jface.text.IRegion.getOffset:()I
            iload 1 /* offset */
            aload 9 /* region */
            invokeinterface org.eclipse.jface.text.IRegion.getOffset:()I
            isub
            invokeinterface org.eclipse.jface.text.IDocument.get:(II)Ljava/lang/String;
            astore 10 /* lineStart */
        start local 10 // java.lang.String lineStart
         4: .line 832
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 11 /* buf */
        start local 11 // java.lang.StringBuilder buf
         5: .line 833
            iconst_0
            istore 12 /* i */
        start local 12 // int i
         6: goto 11
         7: .line 834
      StackMap locals: java.lang.String java.lang.StringBuilder int
      StackMap stack:
            aload 11 /* buf */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 9
         8: .line 835
            aload 11 /* buf */
            aload 8 /* lineDelimiter */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 10 /* lineStart */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 837
      StackMap locals:
      StackMap stack:
            aload 11 /* buf */
            ldc "@param <"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* typeParameterNames */
            iload 12 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 62
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        10: .line 833
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 12 /* i */
            aload 6 /* typeParameterNames */
            arraylength
            if_icmplt 7
        end local 12 // int i
        12: .line 839
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        13: goto 18
        14: .line 840
      StackMap locals:
      StackMap stack:
            aload 11 /* buf */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 16
        15: .line 841
            aload 11 /* buf */
            aload 8 /* lineDelimiter */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 10 /* lineStart */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        16: .line 843
      StackMap locals:
      StackMap stack:
            aload 11 /* buf */
            ldc "@param "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* paramNames */
            iload 12 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        17: .line 839
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 12 /* i */
            aload 3 /* paramNames */
            arraylength
            if_icmplt 14
        end local 12 // int i
        19: .line 845
            aload 5 /* returnType */
            ifnull 23
            aload 5 /* returnType */
            ldc "void"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
        20: .line 846
            aload 11 /* buf */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 22
        21: .line 847
            aload 11 /* buf */
            aload 8 /* lineDelimiter */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 10 /* lineStart */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        22: .line 849
      StackMap locals:
      StackMap stack:
            aload 11 /* buf */
            ldc "@return"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        23: .line 851
      StackMap locals:
      StackMap stack:
            aload 4 /* exceptionNames */
            ifnull 31
        24: .line 852
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        25: goto 30
        26: .line 853
      StackMap locals: int
      StackMap stack:
            aload 11 /* buf */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 28
        27: .line 854
            aload 11 /* buf */
            aload 8 /* lineDelimiter */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 10 /* lineStart */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        28: .line 856
      StackMap locals:
      StackMap stack:
            aload 11 /* buf */
            ldc "@throws "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* exceptionNames */
            iload 12 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        29: .line 852
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 12 /* i */
            aload 4 /* exceptionNames */
            arraylength
            if_icmplt 26
        end local 12 // int i
        31: .line 859
      StackMap locals:
      StackMap stack:
            iload 7 /* isDeprecated */
            ifeq 35
        32: .line 860
            aload 11 /* buf */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 34
        33: .line 861
            aload 11 /* buf */
            aload 8 /* lineDelimiter */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 10 /* lineStart */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        34: .line 863
      StackMap locals:
      StackMap stack:
            aload 11 /* buf */
            ldc "@deprecated"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        35: .line 865
      StackMap locals:
      StackMap stack:
            aload 11 /* buf */
            invokevirtual java.lang.StringBuilder.length:()I
            ifne 42
            aload 10 /* lineStart */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.isAllCommentWhitespace:(Ljava/lang/String;)Z
            ifeq 42
        36: .line 866
            aload 0 /* textBuffer */
            iload 1 /* offset */
            invokeinterface org.eclipse.jface.text.IDocument.getLineOfOffset:(I)I
            iconst_1
            isub
            istore 12 /* prevLine */
        start local 12 // int prevLine
        37: .line 867
            iload 12 /* prevLine */
            ifle 42
        38: .line 868
            aload 0 /* textBuffer */
            iload 12 /* prevLine */
            invokeinterface org.eclipse.jface.text.IDocument.getLineInformation:(I)Lorg/eclipse/jface/text/IRegion;
            astore 13 /* prevRegion */
        start local 13 // org.eclipse.jface.text.IRegion prevRegion
        39: .line 869
            aload 13 /* prevRegion */
            invokeinterface org.eclipse.jface.text.IRegion.getOffset:()I
            aload 13 /* prevRegion */
            invokeinterface org.eclipse.jface.text.IRegion.getLength:()I
            iadd
            istore 14 /* prevLineEnd */
        start local 14 // int prevLineEnd
        40: .line 871
            aload 0 /* textBuffer */
            iload 14 /* prevLineEnd */
            iload 1 /* offset */
            iload 2 /* length */
            iadd
            iload 14 /* prevLineEnd */
            isub
            ldc ""
            invokeinterface org.eclipse.jface.text.IDocument.replace:(IILjava/lang/String;)V
        41: .line 872
            return
        end local 14 // int prevLineEnd
        end local 13 // org.eclipse.jface.text.IRegion prevRegion
        end local 12 // int prevLine
        42: .line 875
      StackMap locals:
      StackMap stack:
            aload 0 /* textBuffer */
            iload 1 /* offset */
            iload 2 /* length */
            aload 11 /* buf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface org.eclipse.jface.text.IDocument.replace:(IILjava/lang/String;)V
        43: .line 876
            return
        end local 11 // java.lang.StringBuilder buf
        end local 10 // java.lang.String lineStart
        end local 9 // org.eclipse.jface.text.IRegion region
        end local 8 // java.lang.String lineDelimiter
        end local 7 // boolean isDeprecated
        end local 6 // java.lang.String[] typeParameterNames
        end local 5 // java.lang.String returnType
        end local 4 // java.lang.String[] exceptionNames
        end local 3 // java.lang.String[] paramNames
        end local 2 // int length
        end local 1 // int offset
        end local 0 // org.eclipse.jface.text.IDocument textBuffer
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   44     0          textBuffer  Lorg/eclipse/jface/text/IDocument;
            0   44     1              offset  I
            0   44     2              length  I
            0   44     3          paramNames  [Ljava/lang/String;
            0   44     4      exceptionNames  [Ljava/lang/String;
            0   44     5          returnType  Ljava/lang/String;
            0   44     6  typeParameterNames  [Ljava/lang/String;
            0   44     7        isDeprecated  Z
            0   44     8       lineDelimiter  Ljava/lang/String;
            1   44     9              region  Lorg/eclipse/jface/text/IRegion;
            4   44    10           lineStart  Ljava/lang/String;
            5   44    11                 buf  Ljava/lang/StringBuilder;
            6   12    12                   i  I
           13   19    12                   i  I
           25   31    12                   i  I
           37   42    12            prevLine  I
           39   42    13          prevRegion  Lorg/eclipse/jface/text/IRegion;
           40   42    14         prevLineEnd  I
    Exceptions:
      throws org.eclipse.jface.text.BadLocationException
    MethodParameters:
                    Name  Flags
      textBuffer          
      offset              
      length              
      paramNames          
      exceptionNames      
      returnType          
      typeParameterNames  
      isDeprecated        
      lineDelimiter       

  private static boolean isAllCommentWhitespace(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.String lineStart
         0: .line 879
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: goto 6
         2: .line 880
      StackMap locals: int
      StackMap stack:
            aload 0 /* lineStart */
            iload 1 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 2 /* ch */
        start local 2 // char ch
         3: .line 881
            iload 2 /* ch */
            invokestatic java.lang.Character.isWhitespace:(C)Z
            ifne 5
            iload 2 /* ch */
            bipush 42
            if_icmpeq 5
         4: .line 882
            iconst_0
            ireturn
        end local 2 // char ch
         5: .line 879
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 1 /* i */
            aload 0 /* lineStart */
            invokevirtual java.lang.String.length:()I
            if_icmplt 2
        end local 1 // int i
         7: .line 885
            iconst_1
            ireturn
        end local 0 // java.lang.String lineStart
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0  lineStart  Ljava/lang/String;
            1    7     1          i  I
            3    5     2         ch  C
    MethodParameters:
           Name  Flags
      lineStart  

  public static java.lang.String getLineDelimiterUsed(org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.IJavaProject project
         0: .line 895
            aload 0 /* project */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getProjectLineDelimiter:(Lorg/eclipse/jdt/core/IJavaProject;)Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  project  Lorg/eclipse/jdt/core/IJavaProject;
    MethodParameters:
         Name  Flags
      project  

  private static java.lang.String getProjectLineDelimiter(org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.core.IJavaProject javaProject
         0: .line 899
            aconst_null
            astore 1 /* project */
        start local 1 // org.eclipse.core.resources.IProject project
         1: .line 900
            aload 0 /* javaProject */
            ifnull 3
         2: .line 901
            aload 0 /* javaProject */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getProject:()Lorg/eclipse/core/resources/IProject;
            astore 1 /* project */
         3: .line 903
      StackMap locals: org.eclipse.core.resources.IProject
      StackMap stack:
            aload 1 /* project */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getLineDelimiterPreference:(Lorg/eclipse/core/resources/IProject;)Ljava/lang/String;
            astore 2 /* lineDelimiter */
        start local 2 // java.lang.String lineDelimiter
         4: .line 904
            aload 2 /* lineDelimiter */
            ifnull 6
         5: .line 905
            aload 2 /* lineDelimiter */
            areturn
         6: .line 907
      StackMap locals: java.lang.String
      StackMap stack:
            ldc "line.separator"
            ldc "\n"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 2 // java.lang.String lineDelimiter
        end local 1 // org.eclipse.core.resources.IProject project
        end local 0 // org.eclipse.jdt.core.IJavaProject javaProject
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0    javaProject  Lorg/eclipse/jdt/core/IJavaProject;
            1    7     1        project  Lorg/eclipse/core/resources/IProject;
            4    7     2  lineDelimiter  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      javaProject  

  public static java.lang.String getLineDelimiterPreference(org.eclipse.core.resources.IProject);
    descriptor: (Lorg/eclipse/core/resources/IProject;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // org.eclipse.core.resources.IProject project
         0: .line 912
            aload 0 /* project */
            ifnull 5
         1: .line 914
            iconst_1
            anewarray org.eclipse.core.runtime.preferences.IScopeContext
            dup
            iconst_0
            new org.eclipse.core.resources.ProjectScope
            dup
            aload 0 /* project */
            invokespecial org.eclipse.core.resources.ProjectScope.<init>:(Lorg/eclipse/core/resources/IProject;)V
            aastore
            astore 1 /* scopeContext */
        start local 1 // org.eclipse.core.runtime.preferences.IScopeContext[] scopeContext
         2: .line 915
            invokestatic org.eclipse.core.runtime.Platform.getPreferencesService:()Lorg/eclipse/core/runtime/preferences/IPreferencesService;
            ldc "org.eclipse.core.runtime"
            ldc "line.separator"
            aconst_null
            aload 1 /* scopeContext */
            invokeinterface org.eclipse.core.runtime.preferences.IPreferencesService.getString:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Lorg/eclipse/core/runtime/preferences/IScopeContext;)Ljava/lang/String;
            astore 2 /* lineDelimiter */
        start local 2 // java.lang.String lineDelimiter
         3: .line 916
            aload 2 /* lineDelimiter */
            ifnull 5
         4: .line 917
            aload 2 /* lineDelimiter */
            areturn
        end local 2 // java.lang.String lineDelimiter
        end local 1 // org.eclipse.core.runtime.preferences.IScopeContext[] scopeContext
         5: .line 920
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray org.eclipse.core.runtime.preferences.IScopeContext
            dup
            iconst_0
            getstatic org.eclipse.core.runtime.preferences.InstanceScope.INSTANCE:Lorg/eclipse/core/runtime/preferences/IScopeContext;
            aastore
            astore 1 /* scopeContext */
        start local 1 // org.eclipse.core.runtime.preferences.IScopeContext[] scopeContext
         6: .line 921
            ldc "line.separator"
            ldc "\n"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* platformDefault */
        start local 2 // java.lang.String platformDefault
         7: .line 922
            invokestatic org.eclipse.core.runtime.Platform.getPreferencesService:()Lorg/eclipse/core/runtime/preferences/IPreferencesService;
            ldc "org.eclipse.core.runtime"
            ldc "line.separator"
            aload 2 /* platformDefault */
            aload 1 /* scopeContext */
            invokeinterface org.eclipse.core.runtime.preferences.IPreferencesService.getString:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Lorg/eclipse/core/runtime/preferences/IScopeContext;)Ljava/lang/String;
            areturn
        end local 2 // java.lang.String platformDefault
        end local 1 // org.eclipse.core.runtime.preferences.IScopeContext[] scopeContext
        end local 0 // org.eclipse.core.resources.IProject project
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0          project  Lorg/eclipse/core/resources/IProject;
            2    5     1     scopeContext  [Lorg/eclipse/core/runtime/preferences/IScopeContext;
            6    8     1     scopeContext  [Lorg/eclipse/core/runtime/preferences/IScopeContext;
            3    5     2    lineDelimiter  Ljava/lang/String;
            7    8     2  platformDefault  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      project  

  public static java.lang.String getLineDelimiterUsed(org.eclipse.jdt.core.IJavaElement);
    descriptor: (Lorg/eclipse/jdt/core/IJavaElement;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.core.IJavaElement elem
         0: .line 930
            aload 0 /* elem */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getOpenable:()Lorg/eclipse/jdt/core/IOpenable;
            astore 1 /* openable */
        start local 1 // org.eclipse.jdt.core.IOpenable openable
         1: .line 931
            aload 1 /* openable */
            instanceof org.eclipse.jdt.core.ITypeRoot
            ifeq 5
         2: .line 933
            aload 1 /* openable */
            invokeinterface org.eclipse.jdt.core.IOpenable.findRecommendedLineSeparator:()Ljava/lang/String;
         3: areturn
         4: .line 934
      StackMap locals: org.eclipse.jdt.core.IJavaElement org.eclipse.jdt.core.IOpenable
      StackMap stack: org.eclipse.jdt.core.JavaModelException
            pop
         5: .line 938
      StackMap locals:
      StackMap stack:
            aload 0 /* elem */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            astore 2 /* project */
        start local 2 // org.eclipse.jdt.core.IJavaProject project
         6: .line 939
            aload 2 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.exists:()Z
            ifeq 7
            aload 2 /* project */
            goto 8
      StackMap locals: org.eclipse.jdt.core.IJavaProject
      StackMap stack:
         7: aconst_null
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.IJavaProject
         8: invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getProjectLineDelimiter:(Lorg/eclipse/jdt/core/IJavaProject;)Ljava/lang/String;
            areturn
        end local 2 // org.eclipse.jdt.core.IJavaProject project
        end local 1 // org.eclipse.jdt.core.IOpenable openable
        end local 0 // org.eclipse.jdt.core.IJavaElement elem
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      elem  Lorg/eclipse/jdt/core/IJavaElement;
            1    9     1  openable  Lorg/eclipse/jdt/core/IOpenable;
            6    9     2   project  Lorg/eclipse/jdt/core/IJavaProject;
      Exception table:
        from    to  target  type
           2     3       4  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
      Name  Flags
      elem  

  public static int getIndentUsed(org.eclipse.jdt.core.IJavaElement);
    descriptor: (Lorg/eclipse/jdt/core/IJavaElement;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.eclipse.jdt.core.IJavaElement elem
         0: .line 950
            aload 0 /* elem */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getOpenable:()Lorg/eclipse/jdt/core/IOpenable;
            astore 1 /* openable */
        start local 1 // org.eclipse.jdt.core.IOpenable openable
         1: .line 951
            aload 1 /* openable */
            instanceof org.eclipse.jdt.core.ITypeRoot
            ifeq 6
         2: .line 952
            aload 1 /* openable */
            invokeinterface org.eclipse.jdt.core.IOpenable.getBuffer:()Lorg/eclipse/jdt/core/IBuffer;
            astore 2 /* buf */
        start local 2 // org.eclipse.jdt.core.IBuffer buf
         3: .line 953
            aload 2 /* buf */
            ifnull 6
         4: .line 954
            aload 0 /* elem */
            checkcast org.eclipse.jdt.core.ISourceReference
            invokeinterface org.eclipse.jdt.core.ISourceReference.getSourceRange:()Lorg/eclipse/jdt/core/ISourceRange;
            invokeinterface org.eclipse.jdt.core.ISourceRange.getOffset:()I
            istore 3 /* offset */
        start local 3 // int offset
         5: .line 955
            aload 2 /* buf */
            iload 3 /* offset */
            aload 0 /* elem */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getIndentUsed:(Lorg/eclipse/jdt/core/IBuffer;ILorg/eclipse/jdt/core/IJavaProject;)I
            ireturn
        end local 3 // int offset
        end local 2 // org.eclipse.jdt.core.IBuffer buf
         6: .line 958
      StackMap locals: org.eclipse.jdt.core.IOpenable
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // org.eclipse.jdt.core.IOpenable openable
        end local 0 // org.eclipse.jdt.core.IJavaElement elem
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      elem  Lorg/eclipse/jdt/core/IJavaElement;
            1    7     1  openable  Lorg/eclipse/jdt/core/IOpenable;
            3    6     2       buf  Lorg/eclipse/jdt/core/IBuffer;
            5    6     3    offset  I
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
      Name  Flags
      elem  

  public static int getIndentUsed(org.eclipse.jdt.core.IBuffer, int, org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/jdt/core/IBuffer;ILorg/eclipse/jdt/core/IJavaProject;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.eclipse.jdt.core.IBuffer buffer
        start local 1 // int offset
        start local 2 // org.eclipse.jdt.core.IJavaProject project
         0: .line 962
            iload 1 /* offset */
            istore 3 /* i */
        start local 3 // int i
         1: .line 964
            goto 3
         2: .line 965
      StackMap locals: int
      StackMap stack:
            iinc 3 /* i */ -1
         3: .line 964
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            ifle 4
            aload 0 /* buffer */
            iload 3 /* i */
            iconst_1
            isub
            invokeinterface org.eclipse.jdt.core.IBuffer.getChar:(I)C
            invokestatic org.eclipse.jdt.core.formatter.IndentManipulation.isLineDelimiterChar:(C)Z
            ifeq 2
         4: .line 967
      StackMap locals:
      StackMap stack:
            aload 0 /* buffer */
            iload 3 /* i */
            iload 1 /* offset */
            iload 3 /* i */
            isub
            invokeinterface org.eclipse.jdt.core.IBuffer.getText:(II)Ljava/lang/String;
            aload 2 /* project */
            invokestatic org.eclipse.jdt.internal.core.manipulation.util.Strings.computeIndentUnits:(Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;)I
            ireturn
        end local 3 // int i
        end local 2 // org.eclipse.jdt.core.IJavaProject project
        end local 1 // int offset
        end local 0 // org.eclipse.jdt.core.IBuffer buffer
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0   buffer  Lorg/eclipse/jdt/core/IBuffer;
            0    5     1   offset  I
            0    5     2  project  Lorg/eclipse/jdt/core/IJavaProject;
            1    5     3        i  I
    MethodParameters:
         Name  Flags
      buffer   
      offset   
      project  

  public static org.eclipse.jdt.core.IJavaElement findNextSibling(org.eclipse.jdt.core.IJavaElement);
    descriptor: (Lorg/eclipse/jdt/core/IJavaElement;)Lorg/eclipse/jdt/core/IJavaElement;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // org.eclipse.jdt.core.IJavaElement member
         0: .line 980
            aload 0 /* member */
            invokeinterface org.eclipse.jdt.core.IJavaElement.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            astore 1 /* parent */
        start local 1 // org.eclipse.jdt.core.IJavaElement parent
         1: .line 981
            aload 1 /* parent */
            instanceof org.eclipse.jdt.core.IParent
            ifeq 9
         2: .line 982
            aload 1 /* parent */
            checkcast org.eclipse.jdt.core.IParent
            invokeinterface org.eclipse.jdt.core.IParent.getChildren:()[Lorg/eclipse/jdt/core/IJavaElement;
            astore 2 /* elements */
        start local 2 // org.eclipse.jdt.core.IJavaElement[] elements
         3: .line 983
            aload 2 /* elements */
            arraylength
            iconst_2
            isub
            istore 3 /* i */
        start local 3 // int i
         4: goto 8
         5: .line 984
      StackMap locals: org.eclipse.jdt.core.IJavaElement org.eclipse.jdt.core.IJavaElement[] int
      StackMap stack:
            aload 0 /* member */
            aload 2 /* elements */
            iload 3 /* i */
            aaload
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 985
            aload 2 /* elements */
            iload 3 /* i */
            iconst_1
            iadd
            aaload
            areturn
         7: .line 983
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ -1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            ifge 5
        end local 3 // int i
        end local 2 // org.eclipse.jdt.core.IJavaElement[] elements
         9: .line 989
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // org.eclipse.jdt.core.IJavaElement parent
        end local 0 // org.eclipse.jdt.core.IJavaElement member
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0    member  Lorg/eclipse/jdt/core/IJavaElement;
            1   10     1    parent  Lorg/eclipse/jdt/core/IJavaElement;
            3    9     2  elements  [Lorg/eclipse/jdt/core/IJavaElement;
            4    9     3         i  I
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
        Name  Flags
      member  

  public static java.lang.String getTodoTaskTag(org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.core.IJavaProject project
         0: .line 993
            aconst_null
            astore 1 /* markers */
        start local 1 // java.lang.String markers
         1: .line 994
            aload 0 /* project */
            ifnonnull 4
         2: .line 995
            ldc "org.eclipse.jdt.core.compiler.taskTags"
            invokestatic org.eclipse.jdt.core.JavaCore.getOption:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* markers */
         3: .line 996
            goto 5
         4: .line 997
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* project */
            ldc "org.eclipse.jdt.core.compiler.taskTags"
            iconst_1
            invokeinterface org.eclipse.jdt.core.IJavaProject.getOption:(Ljava/lang/String;Z)Ljava/lang/String;
            astore 1 /* markers */
         5: .line 1000
      StackMap locals:
      StackMap stack:
            aload 1 /* markers */
            ifnull 10
            aload 1 /* markers */
            invokevirtual java.lang.String.length:()I
            ifle 10
         6: .line 1001
            aload 1 /* markers */
            bipush 44
            invokevirtual java.lang.String.indexOf:(I)I
            istore 2 /* idx */
        start local 2 // int idx
         7: .line 1002
            iload 2 /* idx */
            iconst_m1
            if_icmpne 9
         8: .line 1003
            aload 1 /* markers */
            areturn
         9: .line 1005
      StackMap locals: int
      StackMap stack:
            aload 1 /* markers */
            iconst_0
            iload 2 /* idx */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 2 // int idx
        10: .line 1008
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.String markers
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0  project  Lorg/eclipse/jdt/core/IJavaProject;
            1   11     1  markers  Ljava/lang/String;
            7   10     2      idx  I
    MethodParameters:
         Name  Flags
      project  

  private static java.lang.String removeTypeArguments(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String baseName
         0: .line 1012
            aload 0 /* baseName */
            bipush 60
            invokevirtual java.lang.String.indexOf:(I)I
            istore 1 /* idx */
        start local 1 // int idx
         1: .line 1013
            iload 1 /* idx */
            iconst_m1
            if_icmpeq 3
         2: .line 1014
            aload 0 /* baseName */
            iconst_0
            iload 1 /* idx */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
         3: .line 1016
      StackMap locals: int
      StackMap stack:
            aload 0 /* baseName */
            areturn
        end local 1 // int idx
        end local 0 // java.lang.String baseName
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0  baseName  Ljava/lang/String;
            1    4     1       idx  I
    MethodParameters:
          Name  Flags
      baseName  

  public static java.lang.String[] getVariableNameSuggestions(int, org.eclipse.jdt.core.IJavaProject, org.eclipse.jdt.core.dom.ITypeBinding, org.eclipse.jdt.core.dom.Expression, java.util.Collection<java.lang.String>);
    descriptor: (ILorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/jdt/core/dom/ITypeBinding;Lorg/eclipse/jdt/core/dom/Expression;Ljava/util/Collection;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=5
        start local 0 // int variableKind
        start local 1 // org.eclipse.jdt.core.IJavaProject project
        start local 2 // org.eclipse.jdt.core.dom.ITypeBinding expectedType
        start local 3 // org.eclipse.jdt.core.dom.Expression assignedExpression
        start local 4 // java.util.Collection excluded
         0: .line 1023
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 5 /* res */
        start local 5 // java.util.LinkedHashSet res
         1: .line 1025
            aload 3 /* assignedExpression */
            ifnull 8
         2: .line 1026
            aload 1 /* project */
            aload 3 /* assignedExpression */
            iload 0 /* variableKind */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getBaseNameFromExpression:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/jdt/core/dom/Expression;I)Ljava/lang/String;
            astore 6 /* nameFromExpression */
        start local 6 // java.lang.String nameFromExpression
         3: .line 1027
            aload 6 /* nameFromExpression */
            ifnull 5
         4: .line 1028
            iload 0 /* variableKind */
            aload 1 /* project */
            aload 6 /* nameFromExpression */
            iconst_0
            aload 4 /* excluded */
            iconst_0
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getVariableNameSuggestions:(ILorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;ILjava/util/Collection;Z)[Ljava/lang/String;
            aload 5 /* res */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.add:([Ljava/lang/String;Ljava/util/Set;)V
         5: .line 1031
      StackMap locals: java.util.LinkedHashSet java.lang.String
      StackMap stack:
            aload 3 /* assignedExpression */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getBaseNameFromLocationInParent:(Lorg/eclipse/jdt/core/dom/Expression;)Ljava/lang/String;
            astore 7 /* nameFromParent */
        start local 7 // java.lang.String nameFromParent
         6: .line 1032
            aload 7 /* nameFromParent */
            ifnull 8
         7: .line 1033
            iload 0 /* variableKind */
            aload 1 /* project */
            aload 7 /* nameFromParent */
            iconst_0
            aload 4 /* excluded */
            iconst_0
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getVariableNameSuggestions:(ILorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;ILjava/util/Collection;Z)[Ljava/lang/String;
            aload 5 /* res */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.add:([Ljava/lang/String;Ljava/util/Set;)V
        end local 7 // java.lang.String nameFromParent
        end local 6 // java.lang.String nameFromExpression
         8: .line 1036
      StackMap locals:
      StackMap stack:
            aload 2 /* expectedType */
            ifnull 20
         9: .line 1037
            aload 2 /* expectedType */
            invokestatic org.eclipse.jdt.internal.corext.dom.Bindings.normalizeTypeBinding:(Lorg/eclipse/jdt/core/dom/ITypeBinding;)Lorg/eclipse/jdt/core/dom/ITypeBinding;
            astore 2 /* expectedType */
        10: .line 1038
            aload 2 /* expectedType */
            ifnull 20
        11: .line 1039
            iconst_0
            istore 6 /* dim */
        start local 6 // int dim
        12: .line 1040
            aload 2 /* expectedType */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.isArray:()Z
            ifeq 15
        13: .line 1041
            aload 2 /* expectedType */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getDimensions:()I
            istore 6 /* dim */
        14: .line 1042
            aload 2 /* expectedType */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getElementType:()Lorg/eclipse/jdt/core/dom/ITypeBinding;
            astore 2 /* expectedType */
        15: .line 1044
      StackMap locals: int
      StackMap stack:
            aload 2 /* expectedType */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.isParameterizedType:()Z
            ifeq 17
        16: .line 1045
            aload 2 /* expectedType */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getTypeDeclaration:()Lorg/eclipse/jdt/core/dom/ITypeBinding;
            astore 2 /* expectedType */
        17: .line 1047
      StackMap locals:
      StackMap stack:
            aload 2 /* expectedType */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getName:()Ljava/lang/String;
            astore 7 /* typeName */
        start local 7 // java.lang.String typeName
        18: .line 1048
            aload 7 /* typeName */
            invokevirtual java.lang.String.length:()I
            ifle 20
        19: .line 1049
            iload 0 /* variableKind */
            aload 1 /* project */
            aload 7 /* typeName */
            iload 6 /* dim */
            aload 4 /* excluded */
            iconst_0
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getVariableNameSuggestions:(ILorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;ILjava/util/Collection;Z)[Ljava/lang/String;
            aload 5 /* res */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.add:([Ljava/lang/String;Ljava/util/Set;)V
        end local 7 // java.lang.String typeName
        end local 6 // int dim
        20: .line 1053
      StackMap locals:
      StackMap stack:
            aload 5 /* res */
            invokevirtual java.util.LinkedHashSet.isEmpty:()Z
            ifeq 22
        21: .line 1054
            iload 0 /* variableKind */
            aload 4 /* excluded */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getDefaultVariableNameSuggestions:(ILjava/util/Collection;)[Ljava/lang/String;
            areturn
        22: .line 1056
      StackMap locals:
      StackMap stack:
            aload 5 /* res */
            aload 5 /* res */
            invokevirtual java.util.LinkedHashSet.size:()I
            anewarray java.lang.String
            invokevirtual java.util.LinkedHashSet.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 5 // java.util.LinkedHashSet res
        end local 4 // java.util.Collection excluded
        end local 3 // org.eclipse.jdt.core.dom.Expression assignedExpression
        end local 2 // org.eclipse.jdt.core.dom.ITypeBinding expectedType
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // int variableKind
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   23     0        variableKind  I
            0   23     1             project  Lorg/eclipse/jdt/core/IJavaProject;
            0   23     2        expectedType  Lorg/eclipse/jdt/core/dom/ITypeBinding;
            0   23     3  assignedExpression  Lorg/eclipse/jdt/core/dom/Expression;
            0   23     4            excluded  Ljava/util/Collection<Ljava/lang/String;>;
            1   23     5                 res  Ljava/util/LinkedHashSet<Ljava/lang/String;>;
            3    8     6  nameFromExpression  Ljava/lang/String;
            6    8     7      nameFromParent  Ljava/lang/String;
           12   20     6                 dim  I
           18   20     7            typeName  Ljava/lang/String;
    Signature: (ILorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/jdt/core/dom/ITypeBinding;Lorg/eclipse/jdt/core/dom/Expression;Ljava/util/Collection<Ljava/lang/String;>;)[Ljava/lang/String;
    MethodParameters:
                    Name  Flags
      variableKind        
      project             
      expectedType        
      assignedExpression  
      excluded            

  public static java.lang.String[] getVariableNameSuggestions(int, org.eclipse.jdt.core.IJavaProject, org.eclipse.jdt.core.dom.Type, org.eclipse.jdt.core.dom.Expression, java.util.Collection<java.lang.String>);
    descriptor: (ILorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/jdt/core/dom/Type;Lorg/eclipse/jdt/core/dom/Expression;Ljava/util/Collection;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=5
        start local 0 // int variableKind
        start local 1 // org.eclipse.jdt.core.IJavaProject project
        start local 2 // org.eclipse.jdt.core.dom.Type expectedType
        start local 3 // org.eclipse.jdt.core.dom.Expression assignedExpression
        start local 4 // java.util.Collection excluded
         0: .line 1060
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 5 /* res */
        start local 5 // java.util.LinkedHashSet res
         1: .line 1062
            aload 3 /* assignedExpression */
            ifnull 8
         2: .line 1063
            aload 1 /* project */
            aload 3 /* assignedExpression */
            iload 0 /* variableKind */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getBaseNameFromExpression:(Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/jdt/core/dom/Expression;I)Ljava/lang/String;
            astore 6 /* nameFromExpression */
        start local 6 // java.lang.String nameFromExpression
         3: .line 1064
            aload 6 /* nameFromExpression */
            ifnull 5
         4: .line 1065
            iload 0 /* variableKind */
            aload 1 /* project */
            aload 6 /* nameFromExpression */
            iconst_0
            aload 4 /* excluded */
            iconst_0
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getVariableNameSuggestions:(ILorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;ILjava/util/Collection;Z)[Ljava/lang/String;
            aload 5 /* res */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.add:([Ljava/lang/String;Ljava/util/Set;)V
         5: .line 1068
      StackMap locals: java.util.LinkedHashSet java.lang.String
      StackMap stack:
            aload 3 /* assignedExpression */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getBaseNameFromLocationInParent:(Lorg/eclipse/jdt/core/dom/Expression;)Ljava/lang/String;
            astore 7 /* nameFromParent */
        start local 7 // java.lang.String nameFromParent
         6: .line 1069
            aload 7 /* nameFromParent */
            ifnull 8
         7: .line 1070
            iload 0 /* variableKind */
            aload 1 /* project */
            aload 7 /* nameFromParent */
            iconst_0
            aload 4 /* excluded */
            iconst_0
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getVariableNameSuggestions:(ILorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;ILjava/util/Collection;Z)[Ljava/lang/String;
            aload 5 /* res */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.add:([Ljava/lang/String;Ljava/util/Set;)V
        end local 7 // java.lang.String nameFromParent
        end local 6 // java.lang.String nameFromExpression
         8: .line 1073
      StackMap locals:
      StackMap stack:
            aload 2 /* expectedType */
            ifnull 11
         9: .line 1074
            iload 0 /* variableKind */
            aload 1 /* project */
            aload 2 /* expectedType */
            aload 4 /* excluded */
            iconst_0
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getVariableNameSuggestions:(ILorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/jdt/core/dom/Type;Ljava/util/Collection;Z)[Ljava/lang/String;
            astore 6 /* names */
        start local 6 // java.lang.String[] names
        10: .line 1075
            aload 5 /* res */
            aload 6 /* names */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokevirtual java.util.LinkedHashSet.addAll:(Ljava/util/Collection;)Z
            pop
        end local 6 // java.lang.String[] names
        11: .line 1077
      StackMap locals:
      StackMap stack:
            aload 5 /* res */
            invokevirtual java.util.LinkedHashSet.isEmpty:()Z
            ifeq 13
        12: .line 1078
            iload 0 /* variableKind */
            aload 4 /* excluded */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getDefaultVariableNameSuggestions:(ILjava/util/Collection;)[Ljava/lang/String;
            areturn
        13: .line 1080
      StackMap locals:
      StackMap stack:
            aload 5 /* res */
            aload 5 /* res */
            invokevirtual java.util.LinkedHashSet.size:()I
            anewarray java.lang.String
            invokevirtual java.util.LinkedHashSet.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 5 // java.util.LinkedHashSet res
        end local 4 // java.util.Collection excluded
        end local 3 // org.eclipse.jdt.core.dom.Expression assignedExpression
        end local 2 // org.eclipse.jdt.core.dom.Type expectedType
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // int variableKind
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   14     0        variableKind  I
            0   14     1             project  Lorg/eclipse/jdt/core/IJavaProject;
            0   14     2        expectedType  Lorg/eclipse/jdt/core/dom/Type;
            0   14     3  assignedExpression  Lorg/eclipse/jdt/core/dom/Expression;
            0   14     4            excluded  Ljava/util/Collection<Ljava/lang/String;>;
            1   14     5                 res  Ljava/util/LinkedHashSet<Ljava/lang/String;>;
            3    8     6  nameFromExpression  Ljava/lang/String;
            6    8     7      nameFromParent  Ljava/lang/String;
           10   11     6               names  [Ljava/lang/String;
    Signature: (ILorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/jdt/core/dom/Type;Lorg/eclipse/jdt/core/dom/Expression;Ljava/util/Collection<Ljava/lang/String;>;)[Ljava/lang/String;
    MethodParameters:
                    Name  Flags
      variableKind        
      project             
      expectedType        
      assignedExpression  
      excluded            

  private static java.lang.String[] getVariableNameSuggestions(int, org.eclipse.jdt.core.IJavaProject, org.eclipse.jdt.core.dom.Type, java.util.Collection<java.lang.String>, boolean);
    descriptor: (ILorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/jdt/core/dom/Type;Ljava/util/Collection;Z)[Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=5
        start local 0 // int variableKind
        start local 1 // org.eclipse.jdt.core.IJavaProject project
        start local 2 // org.eclipse.jdt.core.dom.Type expectedType
        start local 3 // java.util.Collection excluded
        start local 4 // boolean evaluateDefault
         0: .line 1084
            iconst_0
            istore 5 /* dim */
        start local 5 // int dim
         1: .line 1085
            aload 2 /* expectedType */
            invokevirtual org.eclipse.jdt.core.dom.Type.isArrayType:()Z
            ifeq 5
         2: .line 1086
            aload 2 /* expectedType */
            checkcast org.eclipse.jdt.core.dom.ArrayType
            astore 6 /* arrayType */
        start local 6 // org.eclipse.jdt.core.dom.ArrayType arrayType
         3: .line 1087
            aload 6 /* arrayType */
            invokevirtual org.eclipse.jdt.core.dom.ArrayType.getDimensions:()I
            istore 5 /* dim */
         4: .line 1088
            aload 6 /* arrayType */
            invokevirtual org.eclipse.jdt.core.dom.ArrayType.getElementType:()Lorg/eclipse/jdt/core/dom/Type;
            astore 2 /* expectedType */
        end local 6 // org.eclipse.jdt.core.dom.ArrayType arrayType
         5: .line 1090
      StackMap locals: int
      StackMap stack:
            aload 2 /* expectedType */
            invokevirtual org.eclipse.jdt.core.dom.Type.isParameterizedType:()Z
            ifeq 7
         6: .line 1091
            aload 2 /* expectedType */
            checkcast org.eclipse.jdt.core.dom.ParameterizedType
            invokevirtual org.eclipse.jdt.core.dom.ParameterizedType.getType:()Lorg/eclipse/jdt/core/dom/Type;
            astore 2 /* expectedType */
         7: .line 1093
      StackMap locals:
      StackMap stack:
            aload 2 /* expectedType */
            invokestatic org.eclipse.jdt.internal.corext.dom.ASTNodes.getTypeName:(Lorg/eclipse/jdt/core/dom/Type;)Ljava/lang/String;
            astore 6 /* typeName */
        start local 6 // java.lang.String typeName
         8: .line 1095
            aload 6 /* typeName */
            invokevirtual java.lang.String.length:()I
            ifle 10
         9: .line 1096
            iload 0 /* variableKind */
            aload 1 /* project */
            aload 6 /* typeName */
            iload 5 /* dim */
            aload 3 /* excluded */
            iload 4 /* evaluateDefault */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getVariableNameSuggestions:(ILorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;ILjava/util/Collection;Z)[Ljava/lang/String;
            areturn
        10: .line 1098
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.manipulation.StubUtility.EMPTY:[Ljava/lang/String;
            areturn
        end local 6 // java.lang.String typeName
        end local 5 // int dim
        end local 4 // boolean evaluateDefault
        end local 3 // java.util.Collection excluded
        end local 2 // org.eclipse.jdt.core.dom.Type expectedType
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // int variableKind
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   11     0     variableKind  I
            0   11     1          project  Lorg/eclipse/jdt/core/IJavaProject;
            0   11     2     expectedType  Lorg/eclipse/jdt/core/dom/Type;
            0   11     3         excluded  Ljava/util/Collection<Ljava/lang/String;>;
            0   11     4  evaluateDefault  Z
            1   11     5              dim  I
            3    5     6        arrayType  Lorg/eclipse/jdt/core/dom/ArrayType;
            8   11     6         typeName  Ljava/lang/String;
    Signature: (ILorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/jdt/core/dom/Type;Ljava/util/Collection<Ljava/lang/String;>;Z)[Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      variableKind     
      project          
      expectedType     
      excluded         
      evaluateDefault  

  private static java.lang.String[] getDefaultVariableNameSuggestions(int, java.util.Collection<java.lang.String>);
    descriptor: (ILjava/util/Collection;)[Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // int variableKind
        start local 1 // java.util.Collection excluded
         0: .line 1102
            iload 0 /* variableKind */
            iconst_3
            if_icmpne 1
            ldc "X"
            goto 2
      StackMap locals:
      StackMap stack:
         1: ldc "x"
      StackMap locals:
      StackMap stack: java.lang.String
         2: astore 2 /* prop */
        start local 2 // java.lang.String prop
         3: .line 1103
            aload 2 /* prop */
            astore 3 /* name */
        start local 3 // java.lang.String name
         4: .line 1104
            iconst_1
            istore 4 /* i */
        start local 4 // int i
         5: .line 1105
            goto 7
         6: .line 1106
      StackMap locals: java.lang.String java.lang.String int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 2 /* prop */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* i */
            iinc 4 /* i */ 1
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* name */
         7: .line 1105
      StackMap locals:
      StackMap stack:
            aload 1 /* excluded */
            aload 3 /* name */
            invokeinterface java.util.Collection.contains:(Ljava/lang/Object;)Z
            ifne 6
         8: .line 1108
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            aload 3 /* name */
            aastore
            areturn
        end local 4 // int i
        end local 3 // java.lang.String name
        end local 2 // java.lang.String prop
        end local 1 // java.util.Collection excluded
        end local 0 // int variableKind
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0  variableKind  I
            0    9     1      excluded  Ljava/util/Collection<Ljava/lang/String;>;
            3    9     2          prop  Ljava/lang/String;
            4    9     3          name  Ljava/lang/String;
            5    9     4             i  I
    Signature: (ILjava/util/Collection<Ljava/lang/String;>;)[Ljava/lang/String;
    MethodParameters:
              Name  Flags
      variableKind  
      excluded      

  public static java.lang.String[] getVariableNameSuggestions(int, org.eclipse.jdt.core.IJavaProject, java.lang.String, int, java.util.Collection<java.lang.String>, boolean);
    descriptor: (ILorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;ILjava/util/Collection;Z)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // int variableKind
        start local 1 // org.eclipse.jdt.core.IJavaProject project
        start local 2 // java.lang.String baseName
        start local 3 // int dimensions
        start local 4 // java.util.Collection excluded
        start local 5 // boolean evaluateDefault
         0: .line 1134
            iload 0 /* variableKind */
            iconst_2
            aload 2 /* baseName */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.removeTypeArguments:(Ljava/lang/String;)Ljava/lang/String;
            aload 1 /* project */
            iload 3 /* dimensions */
            aload 4 /* excluded */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getExcludedArray:(Ljava/util/Collection;)[Ljava/lang/String;
            iload 5 /* evaluateDefault */
            invokestatic org.eclipse.jdt.core.NamingConventions.suggestVariableNames:(IILjava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;I[Ljava/lang/String;Z)[Ljava/lang/String;
            areturn
        end local 5 // boolean evaluateDefault
        end local 4 // java.util.Collection excluded
        end local 3 // int dimensions
        end local 2 // java.lang.String baseName
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // int variableKind
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0     variableKind  I
            0    1     1          project  Lorg/eclipse/jdt/core/IJavaProject;
            0    1     2         baseName  Ljava/lang/String;
            0    1     3       dimensions  I
            0    1     4         excluded  Ljava/util/Collection<Ljava/lang/String;>;
            0    1     5  evaluateDefault  Z
    Signature: (ILorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;ILjava/util/Collection<Ljava/lang/String;>;Z)[Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      variableKind     
      project          
      baseName         
      dimensions       
      excluded         
      evaluateDefault  

  private static java.lang.String[] getExcludedArray(java.util.Collection<java.lang.String>);
    descriptor: (Ljava/util/Collection;)[Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.Collection excluded
         0: .line 1138
            aload 0 /* excluded */
            ifnonnull 2
         1: .line 1139
            aconst_null
            areturn
         2: .line 1140
      StackMap locals:
      StackMap stack:
            aload 0 /* excluded */
            instanceof org.eclipse.jdt.internal.core.manipulation.StubUtility$ExcludedCollection
            ifeq 4
         3: .line 1141
            aload 0 /* excluded */
            checkcast org.eclipse.jdt.internal.core.manipulation.StubUtility$ExcludedCollection
            invokevirtual org.eclipse.jdt.internal.core.manipulation.StubUtility$ExcludedCollection.getExcludedArray:()[Ljava/lang/String;
            areturn
         4: .line 1143
      StackMap locals:
      StackMap stack:
            aload 0 /* excluded */
            aload 0 /* excluded */
            invokeinterface java.util.Collection.size:()I
            anewarray java.lang.String
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 0 // java.util.Collection excluded
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0  excluded  Ljava/util/Collection<Ljava/lang/String;>;
    Signature: (Ljava/util/Collection<Ljava/lang/String;>;)[Ljava/lang/String;
    MethodParameters:
          Name  Flags
      excluded  

  private static void add(java.lang.String[], java.util.Set<java.lang.String>);
    descriptor: ([Ljava/lang/String;Ljava/util/Set;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.String[] names
        start local 1 // java.util.Set result
         0: .line 1151
            aload 1 /* result */
            aload 0 /* names */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
         1: .line 1152
            return
        end local 1 // java.util.Set result
        end local 0 // java.lang.String[] names
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0   names  [Ljava/lang/String;
            0    2     1  result  Ljava/util/Set<Ljava/lang/String;>;
    Signature: ([Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;)V
    MethodParameters:
        Name  Flags
      names   
      result  

  private static java.lang.String getBaseNameFromExpression(org.eclipse.jdt.core.IJavaProject, org.eclipse.jdt.core.dom.Expression, int);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/jdt/core/dom/Expression;I)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=9, args_size=3
        start local 0 // org.eclipse.jdt.core.IJavaProject project
        start local 1 // org.eclipse.jdt.core.dom.Expression assignedExpression
        start local 2 // int variableKind
         0: .line 1155
            aconst_null
            astore 3 /* name */
        start local 3 // java.lang.String name
         1: .line 1156
            aload 1 /* assignedExpression */
            instanceof org.eclipse.jdt.core.dom.CastExpression
            ifeq 3
         2: .line 1157
            aload 1 /* assignedExpression */
            checkcast org.eclipse.jdt.core.dom.CastExpression
            invokevirtual org.eclipse.jdt.core.dom.CastExpression.getExpression:()Lorg/eclipse/jdt/core/dom/Expression;
            astore 1 /* assignedExpression */
         3: .line 1159
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* assignedExpression */
            instanceof org.eclipse.jdt.core.dom.Name
            ifeq 9
         4: .line 1160
            aload 1 /* assignedExpression */
            checkcast org.eclipse.jdt.core.dom.Name
            astore 4 /* simpleNode */
        start local 4 // org.eclipse.jdt.core.dom.Name simpleNode
         5: .line 1161
            aload 4 /* simpleNode */
            invokevirtual org.eclipse.jdt.core.dom.Name.resolveBinding:()Lorg/eclipse/jdt/core/dom/IBinding;
            astore 5 /* binding */
        start local 5 // org.eclipse.jdt.core.dom.IBinding binding
         6: .line 1162
            aload 5 /* binding */
            instanceof org.eclipse.jdt.core.dom.IVariableBinding
            ifeq 8
         7: .line 1163
            aload 5 /* binding */
            checkcast org.eclipse.jdt.core.dom.IVariableBinding
            aload 0 /* project */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getBaseName:(Lorg/eclipse/jdt/core/dom/IVariableBinding;Lorg/eclipse/jdt/core/IJavaProject;)Ljava/lang/String;
            areturn
         8: .line 1165
      StackMap locals: org.eclipse.jdt.core.dom.Name org.eclipse.jdt.core.dom.IBinding
      StackMap stack:
            aload 4 /* simpleNode */
            invokestatic org.eclipse.jdt.internal.corext.dom.ASTNodes.getSimpleNameIdentifier:(Lorg/eclipse/jdt/core/dom/Name;)Ljava/lang/String;
            areturn
        end local 5 // org.eclipse.jdt.core.dom.IBinding binding
        end local 4 // org.eclipse.jdt.core.dom.Name simpleNode
         9: .line 1166
      StackMap locals:
      StackMap stack:
            aload 1 /* assignedExpression */
            instanceof org.eclipse.jdt.core.dom.MethodInvocation
            ifeq 12
        10: .line 1167
            aload 1 /* assignedExpression */
            checkcast org.eclipse.jdt.core.dom.MethodInvocation
            invokevirtual org.eclipse.jdt.core.dom.MethodInvocation.getName:()Lorg/eclipse/jdt/core/dom/SimpleName;
            invokevirtual org.eclipse.jdt.core.dom.SimpleName.getIdentifier:()Ljava/lang/String;
            astore 3 /* name */
        11: .line 1168
            goto 40
      StackMap locals:
      StackMap stack:
        12: aload 1 /* assignedExpression */
            instanceof org.eclipse.jdt.core.dom.SuperMethodInvocation
            ifeq 15
        13: .line 1169
            aload 1 /* assignedExpression */
            checkcast org.eclipse.jdt.core.dom.SuperMethodInvocation
            invokevirtual org.eclipse.jdt.core.dom.SuperMethodInvocation.getName:()Lorg/eclipse/jdt/core/dom/SimpleName;
            invokevirtual org.eclipse.jdt.core.dom.SimpleName.getIdentifier:()Ljava/lang/String;
            astore 3 /* name */
        14: .line 1170
            goto 40
      StackMap locals:
      StackMap stack:
        15: aload 1 /* assignedExpression */
            instanceof org.eclipse.jdt.core.dom.FieldAccess
            ifeq 17
        16: .line 1171
            aload 1 /* assignedExpression */
            checkcast org.eclipse.jdt.core.dom.FieldAccess
            invokevirtual org.eclipse.jdt.core.dom.FieldAccess.getName:()Lorg/eclipse/jdt/core/dom/SimpleName;
            invokevirtual org.eclipse.jdt.core.dom.SimpleName.getIdentifier:()Ljava/lang/String;
            areturn
        17: .line 1172
      StackMap locals:
      StackMap stack:
            iload 2 /* variableKind */
            iconst_3
            if_icmpne 40
            aload 1 /* assignedExpression */
            instanceof org.eclipse.jdt.core.dom.StringLiteral
            ifne 18
            aload 1 /* assignedExpression */
            instanceof org.eclipse.jdt.core.dom.NumberLiteral
            ifeq 40
        18: .line 1173
      StackMap locals:
      StackMap stack:
            aload 1 /* assignedExpression */
            instanceof org.eclipse.jdt.core.dom.StringLiteral
            ifeq 19
            aload 1 /* assignedExpression */
            checkcast org.eclipse.jdt.core.dom.StringLiteral
            invokevirtual org.eclipse.jdt.core.dom.StringLiteral.getLiteralValue:()Ljava/lang/String;
            goto 20
      StackMap locals:
      StackMap stack:
        19: aload 1 /* assignedExpression */
            checkcast org.eclipse.jdt.core.dom.NumberLiteral
            invokevirtual org.eclipse.jdt.core.dom.NumberLiteral.getToken:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        20: astore 4 /* string */
        start local 4 // java.lang.String string
        21: .line 1174
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 5 /* res */
        start local 5 // java.lang.StringBuilder res
        22: .line 1175
            iconst_0
            istore 6 /* needsUnderscore */
        start local 6 // boolean needsUnderscore
        23: .line 1176
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        24: goto 37
        25: .line 1177
      StackMap locals: org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.core.dom.Expression int java.lang.String java.lang.String java.lang.StringBuilder int int
      StackMap stack:
            aload 4 /* string */
            iload 7 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 8 /* ch */
        start local 8 // char ch
        26: .line 1178
            iload 8 /* ch */
            invokestatic java.lang.Character.isJavaIdentifierPart:(C)Z
            ifeq 33
        27: .line 1179
            aload 5 /* res */
            invokevirtual java.lang.StringBuilder.length:()I
            ifne 28
            iload 8 /* ch */
            invokestatic java.lang.Character.isJavaIdentifierStart:(C)Z
            ifeq 29
      StackMap locals: int
      StackMap stack:
        28: iload 6 /* needsUnderscore */
            ifeq 30
        29: .line 1180
      StackMap locals:
      StackMap stack:
            aload 5 /* res */
            bipush 95
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        30: .line 1182
      StackMap locals:
      StackMap stack:
            aload 5 /* res */
            iload 8 /* ch */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        31: .line 1183
            iconst_0
            istore 6 /* needsUnderscore */
        32: .line 1184
            goto 36
        33: .line 1185
      StackMap locals:
      StackMap stack:
            aload 5 /* res */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 34
            iconst_1
            goto 35
      StackMap locals:
      StackMap stack:
        34: iconst_0
      StackMap locals:
      StackMap stack: int
        35: istore 6 /* needsUnderscore */
        end local 8 // char ch
        36: .line 1176
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        37: iload 7 /* i */
            aload 4 /* string */
            invokevirtual java.lang.String.length:()I
            if_icmplt 25
        end local 7 // int i
        38: .line 1188
            aload 5 /* res */
            invokevirtual java.lang.StringBuilder.length:()I
            ifle 40
        39: .line 1189
            aload 5 /* res */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 6 // boolean needsUnderscore
        end local 5 // java.lang.StringBuilder res
        end local 4 // java.lang.String string
        40: .line 1192
      StackMap locals: org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.core.dom.Expression int java.lang.String
      StackMap stack:
            aload 3 /* name */
            ifnull 51
        41: .line 1193
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        42: goto 50
        43: .line 1194
      StackMap locals: int
      StackMap stack:
            getstatic org.eclipse.jdt.internal.core.manipulation.StubUtility.KNOWN_METHOD_NAME_PREFIXES:[Ljava/lang/String;
            iload 4 /* i */
            aaload
            astore 5 /* curr */
        start local 5 // java.lang.String curr
        44: .line 1195
            aload 3 /* name */
            aload 5 /* curr */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 49
        45: .line 1196
            aload 3 /* name */
            aload 5 /* curr */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 47
        46: .line 1197
            aconst_null
            areturn
        47: .line 1198
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* name */
            aload 5 /* curr */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isUpperCase:(C)Z
            ifeq 49
        48: .line 1199
            aload 3 /* name */
            aload 5 /* curr */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            areturn
        end local 5 // java.lang.String curr
        49: .line 1193
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        50: iload 4 /* i */
            getstatic org.eclipse.jdt.internal.core.manipulation.StubUtility.KNOWN_METHOD_NAME_PREFIXES:[Ljava/lang/String;
            arraylength
            if_icmplt 43
        end local 4 // int i
        51: .line 1204
      StackMap locals:
      StackMap stack:
            aload 3 /* name */
            areturn
        end local 3 // java.lang.String name
        end local 2 // int variableKind
        end local 1 // org.eclipse.jdt.core.dom.Expression assignedExpression
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   52     0             project  Lorg/eclipse/jdt/core/IJavaProject;
            0   52     1  assignedExpression  Lorg/eclipse/jdt/core/dom/Expression;
            0   52     2        variableKind  I
            1   52     3                name  Ljava/lang/String;
            5    9     4          simpleNode  Lorg/eclipse/jdt/core/dom/Name;
            6    9     5             binding  Lorg/eclipse/jdt/core/dom/IBinding;
           21   40     4              string  Ljava/lang/String;
           22   40     5                 res  Ljava/lang/StringBuilder;
           23   40     6     needsUnderscore  Z
           24   38     7                   i  I
           26   36     8                  ch  C
           42   51     4                   i  I
           44   49     5                curr  Ljava/lang/String;
    MethodParameters:
                    Name  Flags
      project             
      assignedExpression  
      variableKind        

  private static java.lang.String getBaseNameFromLocationInParent(org.eclipse.jdt.core.dom.Expression, java.util.List<org.eclipse.jdt.core.dom.Expression>, org.eclipse.jdt.core.dom.IMethodBinding);
    descriptor: (Lorg/eclipse/jdt/core/dom/Expression;Ljava/util/List;Lorg/eclipse/jdt/core/dom/IMethodBinding;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=9, args_size=3
        start local 0 // org.eclipse.jdt.core.dom.Expression assignedExpression
        start local 1 // java.util.List arguments
        start local 2 // org.eclipse.jdt.core.dom.IMethodBinding binding
         0: .line 1208
            aload 2 /* binding */
            ifnonnull 2
         1: .line 1209
            aconst_null
            areturn
         2: .line 1211
      StackMap locals:
      StackMap stack:
            aload 2 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.IMethodBinding.getParameterTypes:()[Lorg/eclipse/jdt/core/dom/ITypeBinding;
            astore 3 /* parameterTypes */
        start local 3 // org.eclipse.jdt.core.dom.ITypeBinding[] parameterTypes
         3: .line 1212
            aload 3 /* parameterTypes */
            arraylength
            aload 1 /* arguments */
            invokeinterface java.util.List.size:()I
            if_icmpeq 5
         4: .line 1213
            aconst_null
            areturn
         5: .line 1215
      StackMap locals: org.eclipse.jdt.core.dom.ITypeBinding[]
      StackMap stack:
            aload 1 /* arguments */
            aload 0 /* assignedExpression */
            invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
            istore 4 /* index */
        start local 4 // int index
         6: .line 1216
            iload 4 /* index */
            iconst_m1
            if_icmpne 8
         7: .line 1217
            aconst_null
            areturn
         8: .line 1219
      StackMap locals: int
      StackMap stack:
            aload 0 /* assignedExpression */
            invokevirtual org.eclipse.jdt.core.dom.Expression.resolveTypeBinding:()Lorg/eclipse/jdt/core/dom/ITypeBinding;
            astore 5 /* expressionBinding */
        start local 5 // org.eclipse.jdt.core.dom.ITypeBinding expressionBinding
         9: .line 1220
            aload 5 /* expressionBinding */
            ifnull 11
            aload 5 /* expressionBinding */
            aload 3 /* parameterTypes */
            iload 4 /* index */
            aaload
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.isAssignmentCompatible:(Lorg/eclipse/jdt/core/dom/ITypeBinding;)Z
            ifne 11
        10: .line 1221
            aconst_null
            areturn
        11: .line 1224
      StackMap locals: org.eclipse.jdt.core.dom.ITypeBinding
      StackMap stack:
            aload 2 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.IMethodBinding.getJavaElement:()Lorg/eclipse/jdt/core/IJavaElement;
            astore 6 /* javaElement */
        start local 6 // org.eclipse.jdt.core.IJavaElement javaElement
        12: .line 1225
            aload 6 /* javaElement */
            instanceof org.eclipse.jdt.core.IMethod
            ifeq 20
        13: .line 1226
            aload 6 /* javaElement */
            checkcast org.eclipse.jdt.core.IMethod
            astore 7 /* method */
        start local 7 // org.eclipse.jdt.core.IMethod method
        14: .line 1227
            aload 7 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getOpenable:()Lorg/eclipse/jdt/core/IOpenable;
            invokeinterface org.eclipse.jdt.core.IOpenable.getBuffer:()Lorg/eclipse/jdt/core/IBuffer;
            ifnull 20
        15: .line 1228
            aload 7 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getParameterNames:()[Ljava/lang/String;
            astore 8 /* parameterNames */
        start local 8 // java.lang.String[] parameterNames
        16: .line 1229
            iload 4 /* index */
            aload 8 /* parameterNames */
            arraylength
            if_icmpge 20
        17: .line 1230
            iconst_4
            aload 8 /* parameterNames */
            iload 4 /* index */
            aaload
            aload 7 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            invokestatic org.eclipse.jdt.core.NamingConventions.getBaseName:(ILjava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;)Ljava/lang/String;
        18: areturn
        end local 8 // java.lang.String[] parameterNames
        end local 7 // org.eclipse.jdt.core.IMethod method
        end local 6 // org.eclipse.jdt.core.IJavaElement javaElement
        19: .line 1234
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.JavaModelException
            pop
        20: .line 1237
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 5 // org.eclipse.jdt.core.dom.ITypeBinding expressionBinding
        end local 4 // int index
        end local 3 // org.eclipse.jdt.core.dom.ITypeBinding[] parameterTypes
        end local 2 // org.eclipse.jdt.core.dom.IMethodBinding binding
        end local 1 // java.util.List arguments
        end local 0 // org.eclipse.jdt.core.dom.Expression assignedExpression
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   21     0  assignedExpression  Lorg/eclipse/jdt/core/dom/Expression;
            0   21     1           arguments  Ljava/util/List<Lorg/eclipse/jdt/core/dom/Expression;>;
            0   21     2             binding  Lorg/eclipse/jdt/core/dom/IMethodBinding;
            3   21     3      parameterTypes  [Lorg/eclipse/jdt/core/dom/ITypeBinding;
            6   21     4               index  I
            9   21     5   expressionBinding  Lorg/eclipse/jdt/core/dom/ITypeBinding;
           12   19     6         javaElement  Lorg/eclipse/jdt/core/IJavaElement;
           14   19     7              method  Lorg/eclipse/jdt/core/IMethod;
           16   19     8      parameterNames  [Ljava/lang/String;
      Exception table:
        from    to  target  type
          11    18      19  Class org.eclipse.jdt.core.JavaModelException
    Signature: (Lorg/eclipse/jdt/core/dom/Expression;Ljava/util/List<Lorg/eclipse/jdt/core/dom/Expression;>;Lorg/eclipse/jdt/core/dom/IMethodBinding;)Ljava/lang/String;
    MethodParameters:
                    Name  Flags
      assignedExpression  
      arguments           
      binding             

  private static java.lang.String getBaseNameFromLocationInParent(org.eclipse.jdt.core.dom.Expression);
    descriptor: (Lorg/eclipse/jdt/core/dom/Expression;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.Expression assignedExpression
         0: .line 1242
            aload 0 /* assignedExpression */
            invokevirtual org.eclipse.jdt.core.dom.Expression.getLocationInParent:()Lorg/eclipse/jdt/core/dom/StructuralPropertyDescriptor;
            astore 1 /* location */
        start local 1 // org.eclipse.jdt.core.dom.StructuralPropertyDescriptor location
         1: .line 1243
            aload 1 /* location */
            getstatic org.eclipse.jdt.core.dom.MethodInvocation.ARGUMENTS_PROPERTY:Lorg/eclipse/jdt/core/dom/ChildListPropertyDescriptor;
            if_acmpne 4
         2: .line 1244
            aload 0 /* assignedExpression */
            invokevirtual org.eclipse.jdt.core.dom.Expression.getParent:()Lorg/eclipse/jdt/core/dom/ASTNode;
            checkcast org.eclipse.jdt.core.dom.MethodInvocation
            astore 2 /* parent */
        start local 2 // org.eclipse.jdt.core.dom.MethodInvocation parent
         3: .line 1245
            aload 0 /* assignedExpression */
            aload 2 /* parent */
            invokevirtual org.eclipse.jdt.core.dom.MethodInvocation.arguments:()Ljava/util/List;
            aload 2 /* parent */
            invokevirtual org.eclipse.jdt.core.dom.MethodInvocation.resolveMethodBinding:()Lorg/eclipse/jdt/core/dom/IMethodBinding;
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getBaseNameFromLocationInParent:(Lorg/eclipse/jdt/core/dom/Expression;Ljava/util/List;Lorg/eclipse/jdt/core/dom/IMethodBinding;)Ljava/lang/String;
            areturn
        end local 2 // org.eclipse.jdt.core.dom.MethodInvocation parent
         4: .line 1246
      StackMap locals: org.eclipse.jdt.core.dom.StructuralPropertyDescriptor
      StackMap stack:
            aload 1 /* location */
            getstatic org.eclipse.jdt.core.dom.ClassInstanceCreation.ARGUMENTS_PROPERTY:Lorg/eclipse/jdt/core/dom/ChildListPropertyDescriptor;
            if_acmpne 7
         5: .line 1247
            aload 0 /* assignedExpression */
            invokevirtual org.eclipse.jdt.core.dom.Expression.getParent:()Lorg/eclipse/jdt/core/dom/ASTNode;
            checkcast org.eclipse.jdt.core.dom.ClassInstanceCreation
            astore 2 /* parent */
        start local 2 // org.eclipse.jdt.core.dom.ClassInstanceCreation parent
         6: .line 1248
            aload 0 /* assignedExpression */
            aload 2 /* parent */
            invokevirtual org.eclipse.jdt.core.dom.ClassInstanceCreation.arguments:()Ljava/util/List;
            aload 2 /* parent */
            invokevirtual org.eclipse.jdt.core.dom.ClassInstanceCreation.resolveConstructorBinding:()Lorg/eclipse/jdt/core/dom/IMethodBinding;
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getBaseNameFromLocationInParent:(Lorg/eclipse/jdt/core/dom/Expression;Ljava/util/List;Lorg/eclipse/jdt/core/dom/IMethodBinding;)Ljava/lang/String;
            areturn
        end local 2 // org.eclipse.jdt.core.dom.ClassInstanceCreation parent
         7: .line 1249
      StackMap locals:
      StackMap stack:
            aload 1 /* location */
            getstatic org.eclipse.jdt.core.dom.SuperMethodInvocation.ARGUMENTS_PROPERTY:Lorg/eclipse/jdt/core/dom/ChildListPropertyDescriptor;
            if_acmpne 10
         8: .line 1250
            aload 0 /* assignedExpression */
            invokevirtual org.eclipse.jdt.core.dom.Expression.getParent:()Lorg/eclipse/jdt/core/dom/ASTNode;
            checkcast org.eclipse.jdt.core.dom.SuperMethodInvocation
            astore 2 /* parent */
        start local 2 // org.eclipse.jdt.core.dom.SuperMethodInvocation parent
         9: .line 1251
            aload 0 /* assignedExpression */
            aload 2 /* parent */
            invokevirtual org.eclipse.jdt.core.dom.SuperMethodInvocation.arguments:()Ljava/util/List;
            aload 2 /* parent */
            invokevirtual org.eclipse.jdt.core.dom.SuperMethodInvocation.resolveMethodBinding:()Lorg/eclipse/jdt/core/dom/IMethodBinding;
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getBaseNameFromLocationInParent:(Lorg/eclipse/jdt/core/dom/Expression;Ljava/util/List;Lorg/eclipse/jdt/core/dom/IMethodBinding;)Ljava/lang/String;
            areturn
        end local 2 // org.eclipse.jdt.core.dom.SuperMethodInvocation parent
        10: .line 1252
      StackMap locals:
      StackMap stack:
            aload 1 /* location */
            getstatic org.eclipse.jdt.core.dom.ConstructorInvocation.ARGUMENTS_PROPERTY:Lorg/eclipse/jdt/core/dom/ChildListPropertyDescriptor;
            if_acmpne 13
        11: .line 1253
            aload 0 /* assignedExpression */
            invokevirtual org.eclipse.jdt.core.dom.Expression.getParent:()Lorg/eclipse/jdt/core/dom/ASTNode;
            checkcast org.eclipse.jdt.core.dom.ConstructorInvocation
            astore 2 /* parent */
        start local 2 // org.eclipse.jdt.core.dom.ConstructorInvocation parent
        12: .line 1254
            aload 0 /* assignedExpression */
            aload 2 /* parent */
            invokevirtual org.eclipse.jdt.core.dom.ConstructorInvocation.arguments:()Ljava/util/List;
            aload 2 /* parent */
            invokevirtual org.eclipse.jdt.core.dom.ConstructorInvocation.resolveConstructorBinding:()Lorg/eclipse/jdt/core/dom/IMethodBinding;
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getBaseNameFromLocationInParent:(Lorg/eclipse/jdt/core/dom/Expression;Ljava/util/List;Lorg/eclipse/jdt/core/dom/IMethodBinding;)Ljava/lang/String;
            areturn
        end local 2 // org.eclipse.jdt.core.dom.ConstructorInvocation parent
        13: .line 1255
      StackMap locals:
      StackMap stack:
            aload 1 /* location */
            getstatic org.eclipse.jdt.core.dom.SuperConstructorInvocation.ARGUMENTS_PROPERTY:Lorg/eclipse/jdt/core/dom/ChildListPropertyDescriptor;
            if_acmpne 16
        14: .line 1256
            aload 0 /* assignedExpression */
            invokevirtual org.eclipse.jdt.core.dom.Expression.getParent:()Lorg/eclipse/jdt/core/dom/ASTNode;
            checkcast org.eclipse.jdt.core.dom.SuperConstructorInvocation
            astore 2 /* parent */
        start local 2 // org.eclipse.jdt.core.dom.SuperConstructorInvocation parent
        15: .line 1257
            aload 0 /* assignedExpression */
            aload 2 /* parent */
            invokevirtual org.eclipse.jdt.core.dom.SuperConstructorInvocation.arguments:()Ljava/util/List;
            aload 2 /* parent */
            invokevirtual org.eclipse.jdt.core.dom.SuperConstructorInvocation.resolveConstructorBinding:()Lorg/eclipse/jdt/core/dom/IMethodBinding;
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getBaseNameFromLocationInParent:(Lorg/eclipse/jdt/core/dom/Expression;Ljava/util/List;Lorg/eclipse/jdt/core/dom/IMethodBinding;)Ljava/lang/String;
            areturn
        end local 2 // org.eclipse.jdt.core.dom.SuperConstructorInvocation parent
        16: .line 1259
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // org.eclipse.jdt.core.dom.StructuralPropertyDescriptor location
        end local 0 // org.eclipse.jdt.core.dom.Expression assignedExpression
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   17     0  assignedExpression  Lorg/eclipse/jdt/core/dom/Expression;
            1   17     1            location  Lorg/eclipse/jdt/core/dom/StructuralPropertyDescriptor;
            3    4     2              parent  Lorg/eclipse/jdt/core/dom/MethodInvocation;
            6    7     2              parent  Lorg/eclipse/jdt/core/dom/ClassInstanceCreation;
            9   10     2              parent  Lorg/eclipse/jdt/core/dom/SuperMethodInvocation;
           12   13     2              parent  Lorg/eclipse/jdt/core/dom/ConstructorInvocation;
           15   16     2              parent  Lorg/eclipse/jdt/core/dom/SuperConstructorInvocation;
    MethodParameters:
                    Name  Flags
      assignedExpression  

  public static java.lang.String[] getArgumentNameSuggestions(org.eclipse.jdt.core.IType, java.lang.String[]);
    descriptor: (Lorg/eclipse/jdt/core/IType;[Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.core.IType type
        start local 1 // java.lang.String[] excluded
         0: .line 1263
            iconst_4
            aload 0 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            aload 0 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getElementName:()Ljava/lang/String;
            iconst_0
            new org.eclipse.jdt.internal.core.manipulation.StubUtility$ExcludedCollection
            dup
            aload 1 /* excluded */
            invokespecial org.eclipse.jdt.internal.core.manipulation.StubUtility$ExcludedCollection.<init>:([Ljava/lang/String;)V
            iconst_1
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getVariableNameSuggestions:(ILorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;ILjava/util/Collection;Z)[Ljava/lang/String;
            areturn
        end local 1 // java.lang.String[] excluded
        end local 0 // org.eclipse.jdt.core.IType type
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      type  Lorg/eclipse/jdt/core/IType;
            0    1     1  excluded  [Ljava/lang/String;
    MethodParameters:
          Name  Flags
      type      
      excluded  

  public static java.lang.String[] getArgumentNameSuggestions(org.eclipse.jdt.core.IJavaProject, org.eclipse.jdt.core.dom.Type, java.lang.String[]);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/jdt/core/dom/Type;[Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.core.IJavaProject project
        start local 1 // org.eclipse.jdt.core.dom.Type type
        start local 2 // java.lang.String[] excluded
         0: .line 1267
            iconst_4
            aload 0 /* project */
            aload 1 /* type */
            new org.eclipse.jdt.internal.core.manipulation.StubUtility$ExcludedCollection
            dup
            aload 2 /* excluded */
            invokespecial org.eclipse.jdt.internal.core.manipulation.StubUtility$ExcludedCollection.<init>:([Ljava/lang/String;)V
            iconst_1
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getVariableNameSuggestions:(ILorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/jdt/core/dom/Type;Ljava/util/Collection;Z)[Ljava/lang/String;
            areturn
        end local 2 // java.lang.String[] excluded
        end local 1 // org.eclipse.jdt.core.dom.Type type
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0   project  Lorg/eclipse/jdt/core/IJavaProject;
            0    1     1      type  Lorg/eclipse/jdt/core/dom/Type;
            0    1     2  excluded  [Ljava/lang/String;
    MethodParameters:
          Name  Flags
      project   
      type      
      excluded  

  public static java.lang.String[] getArgumentNameSuggestions(org.eclipse.jdt.core.IJavaProject, org.eclipse.jdt.core.dom.ITypeBinding, java.lang.String[]);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/jdt/core/dom/ITypeBinding;[Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.core.IJavaProject project
        start local 1 // org.eclipse.jdt.core.dom.ITypeBinding binding
        start local 2 // java.lang.String[] excluded
         0: .line 1271
            iconst_4
            aload 0 /* project */
            aload 1 /* binding */
            aconst_null
            new org.eclipse.jdt.internal.core.manipulation.StubUtility$ExcludedCollection
            dup
            aload 2 /* excluded */
            invokespecial org.eclipse.jdt.internal.core.manipulation.StubUtility$ExcludedCollection.<init>:([Ljava/lang/String;)V
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getVariableNameSuggestions:(ILorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/jdt/core/dom/ITypeBinding;Lorg/eclipse/jdt/core/dom/Expression;Ljava/util/Collection;)[Ljava/lang/String;
            areturn
        end local 2 // java.lang.String[] excluded
        end local 1 // org.eclipse.jdt.core.dom.ITypeBinding binding
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0   project  Lorg/eclipse/jdt/core/IJavaProject;
            0    1     1   binding  Lorg/eclipse/jdt/core/dom/ITypeBinding;
            0    1     2  excluded  [Ljava/lang/String;
    MethodParameters:
          Name  Flags
      project   
      binding   
      excluded  

  public static java.lang.String[] getArgumentNameSuggestions(org.eclipse.jdt.core.IJavaProject, java.lang.String, int, java.lang.String[]);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;I[Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.core.IJavaProject project
        start local 1 // java.lang.String baseName
        start local 2 // int dimensions
        start local 3 // java.lang.String[] excluded
         0: .line 1275
            iconst_4
            aload 0 /* project */
            aload 1 /* baseName */
            iload 2 /* dimensions */
            new org.eclipse.jdt.internal.core.manipulation.StubUtility$ExcludedCollection
            dup
            aload 3 /* excluded */
            invokespecial org.eclipse.jdt.internal.core.manipulation.StubUtility$ExcludedCollection.<init>:([Ljava/lang/String;)V
            iconst_1
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getVariableNameSuggestions:(ILorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;ILjava/util/Collection;Z)[Ljava/lang/String;
            areturn
        end local 3 // java.lang.String[] excluded
        end local 2 // int dimensions
        end local 1 // java.lang.String baseName
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0     project  Lorg/eclipse/jdt/core/IJavaProject;
            0    1     1    baseName  Ljava/lang/String;
            0    1     2  dimensions  I
            0    1     3    excluded  [Ljava/lang/String;
    MethodParameters:
            Name  Flags
      project     
      baseName    
      dimensions  
      excluded    

  public static java.lang.String[] getFieldNameSuggestions(org.eclipse.jdt.core.IType, int, java.lang.String[]);
    descriptor: (Lorg/eclipse/jdt/core/IType;I[Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.core.IType type
        start local 1 // int fieldModifiers
        start local 2 // java.lang.String[] excluded
         0: .line 1279
            aload 0 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            aload 0 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getElementName:()Ljava/lang/String;
            iconst_0
            iload 1 /* fieldModifiers */
            aload 2 /* excluded */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getFieldNameSuggestions:(Lorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;II[Ljava/lang/String;)[Ljava/lang/String;
            areturn
        end local 2 // java.lang.String[] excluded
        end local 1 // int fieldModifiers
        end local 0 // org.eclipse.jdt.core.IType type
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            type  Lorg/eclipse/jdt/core/IType;
            0    1     1  fieldModifiers  I
            0    1     2        excluded  [Ljava/lang/String;
    MethodParameters:
                Name  Flags
      type            
      fieldModifiers  
      excluded        

  public static java.lang.String[] getFieldNameSuggestions(org.eclipse.jdt.core.IJavaProject, java.lang.String, int, int, java.lang.String[]);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;II[Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // org.eclipse.jdt.core.IJavaProject project
        start local 1 // java.lang.String baseName
        start local 2 // int dimensions
        start local 3 // int modifiers
        start local 4 // java.lang.String[] excluded
         0: .line 1283
            iload 3 /* modifiers */
            invokestatic org.eclipse.jdt.core.Flags.isFinal:(I)Z
            ifeq 2
            iload 3 /* modifiers */
            invokestatic org.eclipse.jdt.core.Flags.isStatic:(I)Z
            ifeq 2
         1: .line 1284
            iconst_3
            aload 0 /* project */
            aload 1 /* baseName */
            iload 2 /* dimensions */
            new org.eclipse.jdt.internal.core.manipulation.StubUtility$ExcludedCollection
            dup
            aload 4 /* excluded */
            invokespecial org.eclipse.jdt.internal.core.manipulation.StubUtility$ExcludedCollection.<init>:([Ljava/lang/String;)V
            iconst_1
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getVariableNameSuggestions:(ILorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;ILjava/util/Collection;Z)[Ljava/lang/String;
            areturn
         2: .line 1285
      StackMap locals:
      StackMap stack:
            iload 3 /* modifiers */
            invokestatic org.eclipse.jdt.core.Flags.isStatic:(I)Z
            ifeq 4
         3: .line 1286
            iconst_1
            aload 0 /* project */
            aload 1 /* baseName */
            iload 2 /* dimensions */
            new org.eclipse.jdt.internal.core.manipulation.StubUtility$ExcludedCollection
            dup
            aload 4 /* excluded */
            invokespecial org.eclipse.jdt.internal.core.manipulation.StubUtility$ExcludedCollection.<init>:([Ljava/lang/String;)V
            iconst_1
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getVariableNameSuggestions:(ILorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;ILjava/util/Collection;Z)[Ljava/lang/String;
            areturn
         4: .line 1288
      StackMap locals:
      StackMap stack:
            iconst_2
            aload 0 /* project */
            aload 1 /* baseName */
            iload 2 /* dimensions */
            new org.eclipse.jdt.internal.core.manipulation.StubUtility$ExcludedCollection
            dup
            aload 4 /* excluded */
            invokespecial org.eclipse.jdt.internal.core.manipulation.StubUtility$ExcludedCollection.<init>:([Ljava/lang/String;)V
            iconst_1
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getVariableNameSuggestions:(ILorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;ILjava/util/Collection;Z)[Ljava/lang/String;
            areturn
        end local 4 // java.lang.String[] excluded
        end local 3 // int modifiers
        end local 2 // int dimensions
        end local 1 // java.lang.String baseName
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0     project  Lorg/eclipse/jdt/core/IJavaProject;
            0    5     1    baseName  Ljava/lang/String;
            0    5     2  dimensions  I
            0    5     3   modifiers  I
            0    5     4    excluded  [Ljava/lang/String;
    MethodParameters:
            Name  Flags
      project     
      baseName    
      dimensions  
      modifiers   
      excluded    

  public static java.lang.String[] getLocalNameSuggestions(org.eclipse.jdt.core.IJavaProject, java.lang.String, int, java.lang.String[]);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;I[Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.core.IJavaProject project
        start local 1 // java.lang.String baseName
        start local 2 // int dimensions
        start local 3 // java.lang.String[] excluded
         0: .line 1292
            iconst_5
            aload 0 /* project */
            aload 1 /* baseName */
            iload 2 /* dimensions */
            new org.eclipse.jdt.internal.core.manipulation.StubUtility$ExcludedCollection
            dup
            aload 3 /* excluded */
            invokespecial org.eclipse.jdt.internal.core.manipulation.StubUtility$ExcludedCollection.<init>:([Ljava/lang/String;)V
            iconst_1
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getVariableNameSuggestions:(ILorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;ILjava/util/Collection;Z)[Ljava/lang/String;
            areturn
        end local 3 // java.lang.String[] excluded
        end local 2 // int dimensions
        end local 1 // java.lang.String baseName
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0     project  Lorg/eclipse/jdt/core/IJavaProject;
            0    1     1    baseName  Ljava/lang/String;
            0    1     2  dimensions  I
            0    1     3    excluded  [Ljava/lang/String;
    MethodParameters:
            Name  Flags
      project     
      baseName    
      dimensions  
      excluded    

  public static java.lang.String suggestArgumentName(org.eclipse.jdt.core.IJavaProject, java.lang.String, java.lang.String[]);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.core.IJavaProject project
        start local 1 // java.lang.String baseName
        start local 2 // java.lang.String[] excluded
         0: .line 1296
            iconst_4
            aload 0 /* project */
            aload 1 /* baseName */
            iconst_0
            aload 2 /* excluded */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.suggestVariableName:(ILorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;I[Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 2 // java.lang.String[] excluded
        end local 1 // java.lang.String baseName
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0   project  Lorg/eclipse/jdt/core/IJavaProject;
            0    1     1  baseName  Ljava/lang/String;
            0    1     2  excluded  [Ljava/lang/String;
    MethodParameters:
          Name  Flags
      project   
      baseName  
      excluded  

  private static java.lang.String suggestVariableName(int, org.eclipse.jdt.core.IJavaProject, java.lang.String, int, java.lang.String[]);
    descriptor: (ILorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;I[Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // int varKind
        start local 1 // org.eclipse.jdt.core.IJavaProject project
        start local 2 // java.lang.String baseName
        start local 3 // int dimension
        start local 4 // java.lang.String[] excluded
         0: .line 1300
            iload 0 /* varKind */
            aload 1 /* project */
            aload 2 /* baseName */
            iload 3 /* dimension */
            new org.eclipse.jdt.internal.core.manipulation.StubUtility$ExcludedCollection
            dup
            aload 4 /* excluded */
            invokespecial org.eclipse.jdt.internal.core.manipulation.StubUtility$ExcludedCollection.<init>:([Ljava/lang/String;)V
            iconst_1
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getVariableNameSuggestions:(ILorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;ILjava/util/Collection;Z)[Ljava/lang/String;
            iconst_0
            aaload
            areturn
        end local 4 // java.lang.String[] excluded
        end local 3 // int dimension
        end local 2 // java.lang.String baseName
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // int varKind
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0    varKind  I
            0    1     1    project  Lorg/eclipse/jdt/core/IJavaProject;
            0    1     2   baseName  Ljava/lang/String;
            0    1     3  dimension  I
            0    1     4   excluded  [Ljava/lang/String;
    MethodParameters:
           Name  Flags
      varKind    
      project    
      baseName   
      dimension  
      excluded   

  public static java.lang.String[][] suggestArgumentNamesWithProposals(org.eclipse.jdt.core.IJavaProject, java.lang.String[]);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;[Ljava/lang/String;)[[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=9, args_size=2
        start local 0 // org.eclipse.jdt.core.IJavaProject project
        start local 1 // java.lang.String[] paramNames
         0: .line 1305
            aload 1 /* paramNames */
            arraylength
            anewarray java.lang.String[]
            astore 2 /* newNames */
        start local 2 // java.lang.String[][] newNames
         1: .line 1306
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* takenNames */
        start local 3 // java.util.ArrayList takenNames
         2: .line 1309
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 15
         4: .line 1310
      StackMap locals: java.lang.String[][] java.util.ArrayList int
      StackMap stack:
            aload 1 /* paramNames */
            iload 4 /* i */
            aaload
            astore 5 /* curr */
        start local 5 // java.lang.String curr
         5: .line 1311
            iconst_4
            aload 5 /* curr */
            aload 0 /* project */
            invokestatic org.eclipse.jdt.core.NamingConventions.getBaseName:(ILjava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;)Ljava/lang/String;
            astore 6 /* baseName */
        start local 6 // java.lang.String baseName
         6: .line 1313
            iconst_4
            aload 0 /* project */
            aload 5 /* curr */
            iconst_0
            aload 3 /* takenNames */
            iconst_1
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getVariableNameSuggestions:(ILorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;ILjava/util/Collection;Z)[Ljava/lang/String;
            astore 7 /* proposedNames */
        start local 7 // java.lang.String[] proposedNames
         7: .line 1314
            aload 5 /* curr */
            aload 6 /* baseName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 12
         8: .line 1316
            new java.util.LinkedHashSet
            dup
            invokespecial java.util.LinkedHashSet.<init>:()V
            astore 8 /* updatedNames */
        start local 8 // java.util.LinkedHashSet updatedNames
         9: .line 1317
            aload 8 /* updatedNames */
            aload 5 /* curr */
            invokevirtual java.util.LinkedHashSet.add:(Ljava/lang/Object;)Z
            pop
        10: .line 1318
            aload 8 /* updatedNames */
            aload 7 /* proposedNames */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokevirtual java.util.LinkedHashSet.addAll:(Ljava/util/Collection;)Z
            pop
        11: .line 1319
            aload 8 /* updatedNames */
            aload 8 /* updatedNames */
            invokevirtual java.util.LinkedHashSet.size:()I
            anewarray java.lang.String
            invokevirtual java.util.LinkedHashSet.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 7 /* proposedNames */
        end local 8 // java.util.LinkedHashSet updatedNames
        12: .line 1321
      StackMap locals: java.lang.String java.lang.String java.lang.String[]
      StackMap stack:
            aload 2 /* newNames */
            iload 4 /* i */
            aload 7 /* proposedNames */
            aastore
        13: .line 1322
            aload 3 /* takenNames */
            aload 7 /* proposedNames */
            iconst_0
            aaload
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // java.lang.String[] proposedNames
        end local 6 // java.lang.String baseName
        end local 5 // java.lang.String curr
        14: .line 1309
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 4 /* i */
            aload 1 /* paramNames */
            arraylength
            if_icmplt 4
        end local 4 // int i
        16: .line 1324
            aload 2 /* newNames */
            areturn
        end local 3 // java.util.ArrayList takenNames
        end local 2 // java.lang.String[][] newNames
        end local 1 // java.lang.String[] paramNames
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   17     0        project  Lorg/eclipse/jdt/core/IJavaProject;
            0   17     1     paramNames  [Ljava/lang/String;
            1   17     2       newNames  [[Ljava/lang/String;
            2   17     3     takenNames  Ljava/util/ArrayList<Ljava/lang/String;>;
            3   16     4              i  I
            5   14     5           curr  Ljava/lang/String;
            6   14     6       baseName  Ljava/lang/String;
            7   14     7  proposedNames  [Ljava/lang/String;
            9   12     8   updatedNames  Ljava/util/LinkedHashSet<Ljava/lang/String;>;
    MethodParameters:
            Name  Flags
      project     
      paramNames  

  public static java.lang.String[][] suggestArgumentNamesWithProposals(org.eclipse.jdt.core.IJavaProject, org.eclipse.jdt.core.dom.IMethodBinding);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/jdt/core/dom/IMethodBinding;)[[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.core.IJavaProject project
        start local 1 // org.eclipse.jdt.core.dom.IMethodBinding binding
         0: .line 1328
            aload 1 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.IMethodBinding.getParameterTypes:()[Lorg/eclipse/jdt/core/dom/ITypeBinding;
            arraylength
            istore 2 /* nParams */
        start local 2 // int nParams
         1: .line 1329
            iload 2 /* nParams */
            ifle 9
         2: .line 1331
            aload 1 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.IMethodBinding.getMethodDeclaration:()Lorg/eclipse/jdt/core/dom/IMethodBinding;
            invokeinterface org.eclipse.jdt.core.dom.IMethodBinding.getJavaElement:()Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.core.IMethod
            astore 3 /* method */
        start local 3 // org.eclipse.jdt.core.IMethod method
         3: .line 1332
            aload 3 /* method */
            ifnull 9
         4: .line 1333
            aload 3 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getParameterNames:()[Ljava/lang/String;
            astore 4 /* parameterNames */
        start local 4 // java.lang.String[] parameterNames
         5: .line 1334
            aload 4 /* parameterNames */
            arraylength
            iload 2 /* nParams */
            if_icmpne 9
         6: .line 1335
            aload 0 /* project */
            aload 4 /* parameterNames */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.suggestArgumentNamesWithProposals:(Lorg/eclipse/jdt/core/IJavaProject;[Ljava/lang/String;)[[Ljava/lang/String;
         7: areturn
        end local 4 // java.lang.String[] parameterNames
        end local 3 // org.eclipse.jdt.core.IMethod method
         8: .line 1338
      StackMap locals: org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.core.dom.IMethodBinding int
      StackMap stack: org.eclipse.jdt.core.JavaModelException
            pop
         9: .line 1342
      StackMap locals:
      StackMap stack:
            iload 2 /* nParams */
            anewarray java.lang.String[]
            astore 3 /* names */
        start local 3 // java.lang.String[][] names
        10: .line 1343
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        11: goto 14
        12: .line 1344
      StackMap locals: java.lang.String[][] int
      StackMap stack:
            aload 3 /* names */
            iload 4 /* i */
            iconst_1
            anewarray java.lang.String
            dup
            iconst_0
            new java.lang.StringBuilder
            dup
            ldc "arg"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            aastore
        13: .line 1343
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 4 /* i */
            aload 3 /* names */
            arraylength
            if_icmplt 12
        end local 4 // int i
        15: .line 1346
            aload 3 /* names */
            areturn
        end local 3 // java.lang.String[][] names
        end local 2 // int nParams
        end local 1 // org.eclipse.jdt.core.dom.IMethodBinding binding
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   16     0         project  Lorg/eclipse/jdt/core/IJavaProject;
            0   16     1         binding  Lorg/eclipse/jdt/core/dom/IMethodBinding;
            1   16     2         nParams  I
            3    8     3          method  Lorg/eclipse/jdt/core/IMethod;
            5    8     4  parameterNames  [Ljava/lang/String;
           10   16     3           names  [[Ljava/lang/String;
           11   15     4               i  I
      Exception table:
        from    to  target  type
           2     7       8  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
         Name  Flags
      project  
      binding  

  public static java.lang.String[] suggestArgumentNames(org.eclipse.jdt.core.IJavaProject, org.eclipse.jdt.core.dom.IMethodBinding);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Lorg/eclipse/jdt/core/dom/IMethodBinding;)[Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=2
        start local 0 // org.eclipse.jdt.core.IJavaProject project
        start local 1 // org.eclipse.jdt.core.dom.IMethodBinding binding
         0: .line 1351
            aload 1 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.IMethodBinding.getParameterTypes:()[Lorg/eclipse/jdt/core/dom/ITypeBinding;
            arraylength
            istore 2 /* nParams */
        start local 2 // int nParams
         1: .line 1353
            iload 2 /* nParams */
            ifle 22
         2: .line 1355
            aload 1 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.IMethodBinding.getMethodDeclaration:()Lorg/eclipse/jdt/core/dom/IMethodBinding;
            invokeinterface org.eclipse.jdt.core.dom.IMethodBinding.getJavaElement:()Lorg/eclipse/jdt/core/IJavaElement;
            checkcast org.eclipse.jdt.core.IMethod
            astore 3 /* method */
        start local 3 // org.eclipse.jdt.core.IMethod method
         3: .line 1356
            aload 3 /* method */
            ifnull 22
         4: .line 1357
            aload 3 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getParameterNames:()[Ljava/lang/String;
            astore 4 /* paramNames */
        start local 4 // java.lang.String[] paramNames
         5: .line 1358
            aload 4 /* paramNames */
            arraylength
            iload 2 /* nParams */
            if_icmpne 22
         6: .line 1359
            getstatic org.eclipse.jdt.internal.core.manipulation.StubUtility.EMPTY:[Ljava/lang/String;
            astore 5 /* namesArray */
        start local 5 // java.lang.String[] namesArray
         7: .line 1360
            new java.util.ArrayList
            dup
            aload 4 /* paramNames */
            arraylength
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 6 /* newNames */
        start local 6 // java.util.ArrayList newNames
         8: .line 1362
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         9: goto 18
        10: .line 1363
      StackMap locals: org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.core.dom.IMethodBinding int org.eclipse.jdt.core.IMethod java.lang.String[] java.lang.String[] java.util.ArrayList int
      StackMap stack:
            aload 4 /* paramNames */
            iload 7 /* i */
            aaload
            astore 8 /* curr */
        start local 8 // java.lang.String curr
        11: .line 1364
            iconst_4
            aload 8 /* curr */
            aload 3 /* method */
            invokeinterface org.eclipse.jdt.core.IMethod.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            invokestatic org.eclipse.jdt.core.NamingConventions.getBaseName:(ILjava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;)Ljava/lang/String;
            astore 9 /* baseName */
        start local 9 // java.lang.String baseName
        12: .line 1365
            aload 8 /* curr */
            aload 9 /* baseName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 15
        13: .line 1367
            aload 6 /* newNames */
            aload 8 /* curr */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        14: .line 1368
            goto 16
        15: .line 1369
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 6 /* newNames */
            aload 0 /* project */
            aload 8 /* curr */
            aload 5 /* namesArray */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.suggestArgumentName:(Lorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        16: .line 1371
      StackMap locals:
      StackMap stack:
            aload 6 /* newNames */
            aload 6 /* newNames */
            invokevirtual java.util.ArrayList.size:()I
            anewarray java.lang.String
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            astore 5 /* namesArray */
        end local 9 // java.lang.String baseName
        end local 8 // java.lang.String curr
        17: .line 1362
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 7 /* i */
            aload 4 /* paramNames */
            arraylength
            if_icmplt 10
        end local 7 // int i
        19: .line 1373
            aload 5 /* namesArray */
        20: areturn
        end local 6 // java.util.ArrayList newNames
        end local 5 // java.lang.String[] namesArray
        end local 4 // java.lang.String[] paramNames
        end local 3 // org.eclipse.jdt.core.IMethod method
        21: .line 1376
      StackMap locals: org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.core.dom.IMethodBinding int
      StackMap stack: org.eclipse.jdt.core.JavaModelException
            pop
        22: .line 1380
      StackMap locals:
      StackMap stack:
            iload 2 /* nParams */
            anewarray java.lang.String
            astore 3 /* names */
        start local 3 // java.lang.String[] names
        23: .line 1381
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        24: goto 27
        25: .line 1382
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 3 /* names */
            iload 4 /* i */
            new java.lang.StringBuilder
            dup
            ldc "arg"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
        26: .line 1381
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        27: iload 4 /* i */
            aload 3 /* names */
            arraylength
            if_icmplt 25
        end local 4 // int i
        28: .line 1384
            aload 3 /* names */
            areturn
        end local 3 // java.lang.String[] names
        end local 2 // int nParams
        end local 1 // org.eclipse.jdt.core.dom.IMethodBinding binding
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   29     0     project  Lorg/eclipse/jdt/core/IJavaProject;
            0   29     1     binding  Lorg/eclipse/jdt/core/dom/IMethodBinding;
            1   29     2     nParams  I
            3   21     3      method  Lorg/eclipse/jdt/core/IMethod;
            5   21     4  paramNames  [Ljava/lang/String;
            7   21     5  namesArray  [Ljava/lang/String;
            8   21     6    newNames  Ljava/util/ArrayList<Ljava/lang/String;>;
            9   19     7           i  I
           11   17     8        curr  Ljava/lang/String;
           12   17     9    baseName  Ljava/lang/String;
           23   29     3       names  [Ljava/lang/String;
           24   28     4           i  I
      Exception table:
        from    to  target  type
           2    20      21  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
         Name  Flags
      project  
      binding  

  public static java.lang.String getBaseName(org.eclipse.jdt.core.IField);
    descriptor: (Lorg/eclipse/jdt/core/IField;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.IField field
         0: .line 1388
            aload 0 /* field */
            invokeinterface org.eclipse.jdt.core.IField.getFlags:()I
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getFieldKind:(I)I
            aload 0 /* field */
            invokeinterface org.eclipse.jdt.core.IField.getElementName:()Ljava/lang/String;
            aload 0 /* field */
            invokeinterface org.eclipse.jdt.core.IField.getJavaProject:()Lorg/eclipse/jdt/core/IJavaProject;
            invokestatic org.eclipse.jdt.core.NamingConventions.getBaseName:(ILjava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;)Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jdt.core.IField field
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  field  Lorg/eclipse/jdt/core/IField;
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
       Name  Flags
      field  

  public static java.lang.String getBaseName(org.eclipse.jdt.core.dom.IVariableBinding, org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/jdt/core/dom/IVariableBinding;Lorg/eclipse/jdt/core/IJavaProject;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.IVariableBinding binding
        start local 1 // org.eclipse.jdt.core.IJavaProject project
         0: .line 1392
            aload 0 /* binding */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getKind:(Lorg/eclipse/jdt/core/dom/IVariableBinding;)I
            aload 0 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.IVariableBinding.getName:()Ljava/lang/String;
            aload 1 /* project */
            invokestatic org.eclipse.jdt.core.NamingConventions.getBaseName:(ILjava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;)Ljava/lang/String;
            areturn
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // org.eclipse.jdt.core.dom.IVariableBinding binding
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  binding  Lorg/eclipse/jdt/core/dom/IVariableBinding;
            0    1     1  project  Lorg/eclipse/jdt/core/IJavaProject;
    MethodParameters:
         Name  Flags
      binding  
      project  

  private static int getKind(org.eclipse.jdt.core.dom.IVariableBinding);
    descriptor: (Lorg/eclipse/jdt/core/dom/IVariableBinding;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.IVariableBinding binding
         0: .line 1403
            aload 0 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.IVariableBinding.isField:()Z
            ifeq 2
         1: .line 1404
            aload 0 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.IVariableBinding.getModifiers:()I
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.getFieldKind:(I)I
            ireturn
         2: .line 1406
      StackMap locals:
      StackMap stack:
            aload 0 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.IVariableBinding.isParameter:()Z
            ifeq 4
         3: .line 1407
            iconst_4
            ireturn
         4: .line 1409
      StackMap locals:
      StackMap stack:
            iconst_5
            ireturn
        end local 0 // org.eclipse.jdt.core.dom.IVariableBinding binding
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0  binding  Lorg/eclipse/jdt/core/dom/IVariableBinding;
    MethodParameters:
         Name  Flags
      binding  

  private static int getFieldKind(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int modifiers
         0: .line 1413
            iload 0 /* modifiers */
            invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
            ifne 2
         1: .line 1414
            iconst_2
            ireturn
         2: .line 1416
      StackMap locals:
      StackMap stack:
            iload 0 /* modifiers */
            invokestatic java.lang.reflect.Modifier.isFinal:(I)Z
            ifne 4
         3: .line 1417
            iconst_1
            ireturn
         4: .line 1419
      StackMap locals:
      StackMap stack:
            iconst_3
            ireturn
        end local 0 // int modifiers
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0  modifiers  I
    MethodParameters:
           Name  Flags
      modifiers  

  public static boolean hasFieldName(org.eclipse.jdt.core.IJavaProject, java.lang.String);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // org.eclipse.jdt.core.IJavaProject project
        start local 1 // java.lang.String name
         0: .line 1462
            aload 0 /* project */
            ldc "org.eclipse.jdt.core.codeComplete.fieldPrefixes"
            iconst_1
            invokeinterface org.eclipse.jdt.core.IJavaProject.getOption:(Ljava/lang/String;Z)Ljava/lang/String;
            astore 2 /* prefixes */
        start local 2 // java.lang.String prefixes
         1: .line 1463
            aload 0 /* project */
            ldc "org.eclipse.jdt.core.codeComplete.fieldSuffixes"
            iconst_1
            invokeinterface org.eclipse.jdt.core.IJavaProject.getOption:(Ljava/lang/String;Z)Ljava/lang/String;
            astore 3 /* suffixes */
        start local 3 // java.lang.String suffixes
         2: .line 1464
            aload 0 /* project */
            ldc "org.eclipse.jdt.core.codeComplete.staticFieldPrefixes"
            iconst_1
            invokeinterface org.eclipse.jdt.core.IJavaProject.getOption:(Ljava/lang/String;Z)Ljava/lang/String;
            astore 4 /* staticPrefixes */
        start local 4 // java.lang.String staticPrefixes
         3: .line 1465
            aload 0 /* project */
            ldc "org.eclipse.jdt.core.codeComplete.staticFieldSuffixes"
            iconst_1
            invokeinterface org.eclipse.jdt.core.IJavaProject.getOption:(Ljava/lang/String;Z)Ljava/lang/String;
            astore 5 /* staticSuffixes */
        start local 5 // java.lang.String staticSuffixes
         4: .line 1468
            aload 2 /* prefixes */
            aload 3 /* suffixes */
            aload 1 /* name */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.hasPrefixOrSuffix:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
            ifne 7
         5: .line 1469
            aload 4 /* staticPrefixes */
            aload 5 /* staticSuffixes */
            aload 1 /* name */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.hasPrefixOrSuffix:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
            ifne 7
         6: .line 1468
            iconst_0
            ireturn
      StackMap locals: org.eclipse.jdt.core.IJavaProject java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String
      StackMap stack:
         7: iconst_1
            ireturn
        end local 5 // java.lang.String staticSuffixes
        end local 4 // java.lang.String staticPrefixes
        end local 3 // java.lang.String suffixes
        end local 2 // java.lang.String prefixes
        end local 1 // java.lang.String name
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0         project  Lorg/eclipse/jdt/core/IJavaProject;
            0    8     1            name  Ljava/lang/String;
            1    8     2        prefixes  Ljava/lang/String;
            2    8     3        suffixes  Ljava/lang/String;
            3    8     4  staticPrefixes  Ljava/lang/String;
            4    8     5  staticSuffixes  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      project  
      name     

  public static boolean hasParameterName(org.eclipse.jdt.core.IJavaProject, java.lang.String);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.core.IJavaProject project
        start local 1 // java.lang.String name
         0: .line 1473
            aload 0 /* project */
            ldc "org.eclipse.jdt.core.codeComplete.argumentPrefixes"
            iconst_1
            invokeinterface org.eclipse.jdt.core.IJavaProject.getOption:(Ljava/lang/String;Z)Ljava/lang/String;
            astore 2 /* prefixes */
        start local 2 // java.lang.String prefixes
         1: .line 1474
            aload 0 /* project */
            ldc "org.eclipse.jdt.core.codeComplete.argumentSuffixes"
            iconst_1
            invokeinterface org.eclipse.jdt.core.IJavaProject.getOption:(Ljava/lang/String;Z)Ljava/lang/String;
            astore 3 /* suffixes */
        start local 3 // java.lang.String suffixes
         2: .line 1475
            aload 2 /* prefixes */
            aload 3 /* suffixes */
            aload 1 /* name */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.hasPrefixOrSuffix:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
            ireturn
        end local 3 // java.lang.String suffixes
        end local 2 // java.lang.String prefixes
        end local 1 // java.lang.String name
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0   project  Lorg/eclipse/jdt/core/IJavaProject;
            0    3     1      name  Ljava/lang/String;
            1    3     2  prefixes  Ljava/lang/String;
            2    3     3  suffixes  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      project  
      name     

  public static boolean hasLocalVariableName(org.eclipse.jdt.core.IJavaProject, java.lang.String);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.core.IJavaProject project
        start local 1 // java.lang.String name
         0: .line 1479
            aload 0 /* project */
            ldc "org.eclipse.jdt.core.codeComplete.localPrefixes"
            iconst_1
            invokeinterface org.eclipse.jdt.core.IJavaProject.getOption:(Ljava/lang/String;Z)Ljava/lang/String;
            astore 2 /* prefixes */
        start local 2 // java.lang.String prefixes
         1: .line 1480
            aload 0 /* project */
            ldc "org.eclipse.jdt.core.codeComplete.localSuffixes"
            iconst_1
            invokeinterface org.eclipse.jdt.core.IJavaProject.getOption:(Ljava/lang/String;Z)Ljava/lang/String;
            astore 3 /* suffixes */
        start local 3 // java.lang.String suffixes
         2: .line 1481
            aload 2 /* prefixes */
            aload 3 /* suffixes */
            aload 1 /* name */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.hasPrefixOrSuffix:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
            ireturn
        end local 3 // java.lang.String suffixes
        end local 2 // java.lang.String prefixes
        end local 1 // java.lang.String name
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0   project  Lorg/eclipse/jdt/core/IJavaProject;
            0    3     1      name  Ljava/lang/String;
            1    3     2  prefixes  Ljava/lang/String;
            2    3     3  suffixes  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      project  
      name     

  public static boolean hasConstantName(org.eclipse.jdt.core.IJavaProject, java.lang.String);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.eclipse.jdt.core.IJavaProject project
        start local 1 // java.lang.String name
         0: .line 1485
            aload 1 /* name */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isUpperCase:(C)Z
            ifeq 2
         1: .line 1486
            iconst_1
            ireturn
         2: .line 1487
      StackMap locals:
      StackMap stack:
            aload 0 /* project */
            ldc "org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes"
            iconst_1
            invokeinterface org.eclipse.jdt.core.IJavaProject.getOption:(Ljava/lang/String;Z)Ljava/lang/String;
            astore 2 /* prefixes */
        start local 2 // java.lang.String prefixes
         3: .line 1488
            aload 0 /* project */
            ldc "org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes"
            iconst_1
            invokeinterface org.eclipse.jdt.core.IJavaProject.getOption:(Ljava/lang/String;Z)Ljava/lang/String;
            astore 3 /* suffixes */
        start local 3 // java.lang.String suffixes
         4: .line 1489
            aload 2 /* prefixes */
            aload 3 /* suffixes */
            aload 1 /* name */
            invokestatic org.eclipse.jdt.internal.core.manipulation.StubUtility.hasPrefixOrSuffix:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
            ireturn
        end local 3 // java.lang.String suffixes
        end local 2 // java.lang.String prefixes
        end local 1 // java.lang.String name
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0   project  Lorg/eclipse/jdt/core/IJavaProject;
            0    5     1      name  Ljava/lang/String;
            3    5     2  prefixes  Ljava/lang/String;
            4    5     3  suffixes  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      project  
      name     

  private static boolean hasPrefixOrSuffix(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // java.lang.String prefixes
        start local 1 // java.lang.String suffixes
        start local 2 // java.lang.String name
         0: .line 1496
            new java.util.StringTokenizer
            dup
            aload 0 /* prefixes */
            ldc ","
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 3 /* tok */
        start local 3 // java.util.StringTokenizer tok
         1: .line 1497
            goto 5
         2: .line 1498
      StackMap locals: java.util.StringTokenizer
      StackMap stack:
            aload 3 /* tok */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            astore 4 /* curr */
        start local 4 // java.lang.String curr
         3: .line 1499
            aload 2 /* name */
            aload 4 /* curr */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 5
         4: .line 1500
            iconst_1
            ireturn
        end local 4 // java.lang.String curr
         5: .line 1497
      StackMap locals:
      StackMap stack:
            aload 3 /* tok */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 2
         6: .line 1504
            new java.util.StringTokenizer
            dup
            aload 1 /* suffixes */
            ldc ","
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 3 /* tok */
         7: .line 1505
            goto 11
         8: .line 1506
      StackMap locals:
      StackMap stack:
            aload 3 /* tok */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            astore 4 /* curr */
        start local 4 // java.lang.String curr
         9: .line 1507
            aload 2 /* name */
            aload 4 /* curr */
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 11
        10: .line 1508
            iconst_1
            ireturn
        end local 4 // java.lang.String curr
        11: .line 1505
      StackMap locals:
      StackMap stack:
            aload 3 /* tok */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 8
        12: .line 1511
            iconst_0
            ireturn
        end local 3 // java.util.StringTokenizer tok
        end local 2 // java.lang.String name
        end local 1 // java.lang.String suffixes
        end local 0 // java.lang.String prefixes
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0  prefixes  Ljava/lang/String;
            0   13     1  suffixes  Ljava/lang/String;
            0   13     2      name  Ljava/lang/String;
            1   13     3       tok  Ljava/util/StringTokenizer;
            3    5     4      curr  Ljava/lang/String;
            9   11     4      curr  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      prefixes  
      suffixes  
      name      

  public static boolean useThisForFieldAccess(org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.IJavaProject project
         0: .line 1517
            ldc "org.eclipse.jdt.ui.keywordthis"
            aload 0 /* project */
            invokestatic org.eclipse.jdt.core.manipulation.JavaManipulation.getPreference:(Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;)Ljava/lang/String;
            invokestatic java.lang.Boolean.valueOf:(Ljava/lang/String;)Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  project  Lorg/eclipse/jdt/core/IJavaProject;
    MethodParameters:
         Name  Flags
      project  

  public static boolean useIsForBooleanGetters(org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.IJavaProject project
         0: .line 1521
            ldc "org.eclipse.jdt.ui.gettersetter.use.is"
            aload 0 /* project */
            invokestatic org.eclipse.jdt.core.manipulation.JavaManipulation.getPreference:(Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;)Ljava/lang/String;
            invokestatic java.lang.Boolean.valueOf:(Ljava/lang/String;)Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  project  Lorg/eclipse/jdt/core/IJavaProject;
    MethodParameters:
         Name  Flags
      project  

  public static java.lang.String getExceptionVariableName(org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.IJavaProject project
         0: .line 1525
            ldc "org.eclipse.jdt.ui.exception.name"
            aload 0 /* project */
            invokestatic org.eclipse.jdt.core.manipulation.JavaManipulation.getPreference:(Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;)Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  project  Lorg/eclipse/jdt/core/IJavaProject;
    MethodParameters:
         Name  Flags
      project  

  public static boolean doAddComments(org.eclipse.jdt.core.IJavaProject);
    descriptor: (Lorg/eclipse/jdt/core/IJavaProject;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.IJavaProject project
         0: .line 1529
            ldc "org.eclipse.jdt.ui.javadoc"
            aload 0 /* project */
            invokestatic org.eclipse.jdt.core.manipulation.JavaManipulation.getPreference:(Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;)Ljava/lang/String;
            invokestatic java.lang.Boolean.valueOf:(Ljava/lang/String;)Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 0 // org.eclipse.jdt.core.IJavaProject project
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  project  Lorg/eclipse/jdt/core/IJavaProject;
    MethodParameters:
         Name  Flags
      project  

  public static void setCodeTemplate(java.lang.String, java.lang.String, org.eclipse.jdt.core.IJavaProject);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=7, args_size=3
        start local 0 // java.lang.String templateId
        start local 1 // java.lang.String pattern
        start local 2 // org.eclipse.jdt.core.IJavaProject project
         0: .line 1540
            invokestatic org.eclipse.jdt.core.manipulation.JavaManipulation.getCodeTemplateStore:()Lorg/eclipse/text/templates/TemplateStoreCore;
            astore 3 /* codeTemplateStore */
        start local 3 // org.eclipse.text.templates.TemplateStoreCore codeTemplateStore
         1: .line 1541
            aload 3 /* codeTemplateStore */
            aload 0 /* templateId */
            invokevirtual org.eclipse.text.templates.TemplateStoreCore.getTemplateData:(Ljava/lang/String;)Lorg/eclipse/text/templates/TemplatePersistenceData;
            astore 4 /* data */
        start local 4 // org.eclipse.text.templates.TemplatePersistenceData data
         2: .line 1542
            aload 4 /* data */
            invokevirtual org.eclipse.text.templates.TemplatePersistenceData.getTemplate:()Lorg/eclipse/jface/text/templates/Template;
            astore 5 /* orig */
        start local 5 // org.eclipse.jface.text.templates.Template orig
         3: .line 1543
            new org.eclipse.jface.text.templates.Template
            dup
            aload 5 /* orig */
            invokevirtual org.eclipse.jface.text.templates.Template.getName:()Ljava/lang/String;
            aload 5 /* orig */
            invokevirtual org.eclipse.jface.text.templates.Template.getDescription:()Ljava/lang/String;
            aload 5 /* orig */
            invokevirtual org.eclipse.jface.text.templates.Template.getContextTypeId:()Ljava/lang/String;
            aload 1 /* pattern */
            iconst_1
            invokespecial org.eclipse.jface.text.templates.Template.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
            astore 6 /* copy */
        start local 6 // org.eclipse.jface.text.templates.Template copy
         4: .line 1544
            aload 4 /* data */
            aload 6 /* copy */
            invokevirtual org.eclipse.text.templates.TemplatePersistenceData.setTemplate:(Lorg/eclipse/jface/text/templates/Template;)V
         5: .line 1545
            return
        end local 6 // org.eclipse.jface.text.templates.Template copy
        end local 5 // org.eclipse.jface.text.templates.Template orig
        end local 4 // org.eclipse.text.templates.TemplatePersistenceData data
        end local 3 // org.eclipse.text.templates.TemplateStoreCore codeTemplateStore
        end local 2 // org.eclipse.jdt.core.IJavaProject project
        end local 1 // java.lang.String pattern
        end local 0 // java.lang.String templateId
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    6     0         templateId  Ljava/lang/String;
            0    6     1            pattern  Ljava/lang/String;
            0    6     2            project  Lorg/eclipse/jdt/core/IJavaProject;
            1    6     3  codeTemplateStore  Lorg/eclipse/text/templates/TemplateStoreCore;
            2    6     4               data  Lorg/eclipse/text/templates/TemplatePersistenceData;
            3    6     5               orig  Lorg/eclipse/jface/text/templates/Template;
            4    6     6               copy  Lorg/eclipse/jface/text/templates/Template;
    MethodParameters:
            Name  Flags
      templateId  
      pattern     
      project     

  public static org.eclipse.jface.text.templates.Template getCodeTemplate(java.lang.String, org.eclipse.jdt.core.IJavaProject);
    descriptor: (Ljava/lang/String;Lorg/eclipse/jdt/core/IJavaProject;)Lorg/eclipse/jface/text/templates/Template;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.String id
        start local 1 // org.eclipse.jdt.core.IJavaProject project
         0: .line 1548
            aload 1 /* project */
            ifnonnull 2
         1: .line 1549
            invokestatic org.eclipse.jdt.core.manipulation.JavaManipulation.getCodeTemplateStore:()Lorg/eclipse/text/templates/TemplateStoreCore;
            aload 0 /* id */
            invokevirtual org.eclipse.text.templates.TemplateStoreCore.findTemplateById:(Ljava/lang/String;)Lorg/eclipse/jface/text/templates/Template;
            areturn
         2: .line 1550
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.internal.core.manipulation.ProjectTemplateStore
            dup
            aload 1 /* project */
            invokeinterface org.eclipse.jdt.core.IJavaProject.getProject:()Lorg/eclipse/core/resources/IProject;
            invokespecial org.eclipse.jdt.internal.core.manipulation.ProjectTemplateStore.<init>:(Lorg/eclipse/core/resources/IProject;)V
            astore 2 /* projectStore */
        start local 2 // org.eclipse.jdt.internal.core.manipulation.ProjectTemplateStore projectStore
         3: .line 1552
            aload 2 /* projectStore */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.ProjectTemplateStore.load:()V
         4: .line 1553
            goto 7
      StackMap locals: java.lang.String org.eclipse.jdt.core.IJavaProject org.eclipse.jdt.internal.core.manipulation.ProjectTemplateStore
      StackMap stack: java.io.IOException
         5: astore 3 /* e */
        start local 3 // java.io.IOException e
         6: .line 1554
            aload 3 /* e */
            invokestatic org.eclipse.jdt.internal.core.manipulation.JavaManipulationPlugin.log:(Ljava/lang/Throwable;)V
        end local 3 // java.io.IOException e
         7: .line 1556
      StackMap locals:
      StackMap stack:
            aload 2 /* projectStore */
            aload 0 /* id */
            invokevirtual org.eclipse.jdt.internal.core.manipulation.ProjectTemplateStore.findTemplateById:(Ljava/lang/String;)Lorg/eclipse/jface/text/templates/Template;
            areturn
        end local 2 // org.eclipse.jdt.internal.core.manipulation.ProjectTemplateStore projectStore
        end local 1 // org.eclipse.jdt.core.IJavaProject project
        end local 0 // java.lang.String id
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0            id  Ljava/lang/String;
            0    8     1       project  Lorg/eclipse/jdt/core/IJavaProject;
            3    8     2  projectStore  Lorg/eclipse/jdt/internal/core/manipulation/ProjectTemplateStore;
            6    7     3             e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           3     4       5  Class java.io.IOException
    MethodParameters:
         Name  Flags
      id       
      project  

  public static org.eclipse.jdt.core.dom.rewrite.ImportRewrite createImportRewrite(org.eclipse.jdt.core.ICompilationUnit, boolean);
    descriptor: (Lorg/eclipse/jdt/core/ICompilationUnit;Z)Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.core.ICompilationUnit cu
        start local 1 // boolean restoreExistingImports
         0: .line 1561
            aload 0 /* cu */
            iload 1 /* restoreExistingImports */
            invokestatic org.eclipse.jdt.core.manipulation.CodeStyleConfiguration.createImportRewrite:(Lorg/eclipse/jdt/core/ICompilationUnit;Z)Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            areturn
        end local 1 // boolean restoreExistingImports
        end local 0 // org.eclipse.jdt.core.ICompilationUnit cu
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    1     0                      cu  Lorg/eclipse/jdt/core/ICompilationUnit;
            0    1     1  restoreExistingImports  Z
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                        Name  Flags
      cu                      
      restoreExistingImports  

  public static org.eclipse.jdt.core.dom.rewrite.ImportRewrite createImportRewrite(org.eclipse.jdt.core.dom.CompilationUnit, boolean);
    descriptor: (Lorg/eclipse/jdt/core/dom/CompilationUnit;Z)Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit astRoot
        start local 1 // boolean restoreExistingImports
         0: .line 1580
            aload 0 /* astRoot */
            iload 1 /* restoreExistingImports */
            invokestatic org.eclipse.jdt.core.manipulation.CodeStyleConfiguration.createImportRewrite:(Lorg/eclipse/jdt/core/dom/CompilationUnit;Z)Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            astore 2 /* rewrite */
        start local 2 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite rewrite
         1: .line 1581
            aload 0 /* astRoot */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.getAST:()Lorg/eclipse/jdt/core/dom/AST;
            invokevirtual org.eclipse.jdt.core.dom.AST.hasResolvedBindings:()Z
            ifeq 3
         2: .line 1582
            aload 2 /* rewrite */
            iconst_1
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.setUseContextToFilterImplicitImports:(Z)V
         3: .line 1584
      StackMap locals: org.eclipse.jdt.core.dom.rewrite.ImportRewrite
      StackMap stack:
            aload 2 /* rewrite */
            areturn
        end local 2 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite rewrite
        end local 1 // boolean restoreExistingImports
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit astRoot
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    4     0                 astRoot  Lorg/eclipse/jdt/core/dom/CompilationUnit;
            0    4     1  restoreExistingImports  Z
            1    4     2                 rewrite  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
    MethodParameters:
                        Name  Flags
      astRoot                 
      restoreExistingImports  
}
SourceFile: "StubUtility.java"
NestMembers:
  org.eclipse.jdt.internal.core.manipulation.StubUtility$ExcludedCollection
InnerClasses:
  private ExcludedCollection = org.eclipse.jdt.internal.core.manipulation.StubUtility$ExcludedCollection of org.eclipse.jdt.internal.core.manipulation.StubUtility