public final class org.eclipse.jdt.core.dom.rewrite.ImportRewrite
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.eclipse.jdt.core.dom.rewrite.ImportRewrite
  super_class: java.lang.Object
{
  private static final char STATIC_PREFIX;
    descriptor: C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 115

  private static final char NORMAL_PREFIX;
    descriptor: C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 110

  private static final int JLS8_INTERNAL;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  private final org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext defaultContext;
    descriptor: Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.eclipse.jdt.core.ICompilationUnit compilationUnit;
    descriptor: Lorg/eclipse/jdt/core/ICompilationUnit;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.eclipse.jdt.core.dom.CompilationUnit astRoot;
    descriptor: Lorg/eclipse/jdt/core/dom/CompilationUnit;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final java.util.List existingImports;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Map importsKindMap;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.lang.String[] importOrder;
    descriptor: [Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private int importOnDemandThreshold;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int staticImportOnDemandThreshold;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.util.List<java.lang.String> addedImports;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/lang/String;>;

  private java.util.List<java.lang.String> removedImports;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/lang/String;>;

  private java.util.Set<java.lang.String> typeExplicitSimpleNames;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  private java.util.Set<java.lang.String> staticExplicitSimpleNames;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  private java.lang.String[] createdImports;
    descriptor: [Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String[] createdStaticImports;
    descriptor: [Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

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

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

  public static org.eclipse.jdt.core.dom.rewrite.ImportRewrite create(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=5, locals=7, args_size=2
        start local 0 // org.eclipse.jdt.core.ICompilationUnit cu
        start local 1 // boolean restoreExistingImports
         0: .line 370
            aload 0 /* cu */
            ifnonnull 2
         1: .line 371
            new java.lang.IllegalArgumentException
            dup
            ldc "Compilation unit must not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 373
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* existingImport */
        start local 2 // java.util.List existingImport
         3: .line 374
            iload 1 /* restoreExistingImports */
            ifeq 15
         4: .line 375
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* existingImport */
         5: .line 376
            aload 0 /* cu */
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getImports:()[Lorg/eclipse/jdt/core/IImportDeclaration;
            astore 3 /* imports */
        start local 3 // org.eclipse.jdt.core.IImportDeclaration[] imports
         6: .line 377
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         7: goto 14
         8: .line 378
      StackMap locals: java.util.List org.eclipse.jdt.core.IImportDeclaration[] int
      StackMap stack:
            aload 3 /* imports */
            iload 4 /* i */
            aaload
            astore 5 /* curr */
        start local 5 // org.eclipse.jdt.core.IImportDeclaration curr
         9: .line 379
            aload 5 /* curr */
            invokeinterface org.eclipse.jdt.core.IImportDeclaration.getFlags:()I
            invokestatic org.eclipse.jdt.core.Flags.isStatic:(I)Z
            ifeq 10
            bipush 115
            goto 11
      StackMap locals: org.eclipse.jdt.core.IImportDeclaration
      StackMap stack:
        10: bipush 110
      StackMap locals:
      StackMap stack: int
        11: istore 6 /* prefix */
        start local 6 // char prefix
        12: .line 380
            aload 2 /* existingImport */
            new java.lang.StringBuilder
            dup
            iload 6 /* prefix */
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* curr */
            invokeinterface org.eclipse.jdt.core.IImportDeclaration.getElementName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // char prefix
        end local 5 // org.eclipse.jdt.core.IImportDeclaration curr
        13: .line 377
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 4 /* i */
            aload 3 /* imports */
            arraylength
            if_icmplt 8
        end local 4 // int i
        end local 3 // org.eclipse.jdt.core.IImportDeclaration[] imports
        15: .line 383
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.core.dom.rewrite.ImportRewrite
            dup
            aload 0 /* cu */
            aconst_null
            aload 2 /* existingImport */
            invokespecial org.eclipse.jdt.core.dom.rewrite.ImportRewrite.<init>:(Lorg/eclipse/jdt/core/ICompilationUnit;Lorg/eclipse/jdt/core/dom/CompilationUnit;Ljava/util/List;)V
            areturn
        end local 2 // java.util.List existingImport
        end local 1 // boolean restoreExistingImports
        end local 0 // org.eclipse.jdt.core.ICompilationUnit cu
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   16     0                      cu  Lorg/eclipse/jdt/core/ICompilationUnit;
            0   16     1  restoreExistingImports  Z
            3   16     2          existingImport  Ljava/util/List;
            6   15     3                 imports  [Lorg/eclipse/jdt/core/IImportDeclaration;
            7   15     4                       i  I
            9   13     5                    curr  Lorg/eclipse/jdt/core/IImportDeclaration;
           12   13     6                  prefix  C
    Exceptions:
      throws org.eclipse.jdt.core.JavaModelException
    MethodParameters:
                        Name  Flags
      cu                      
      restoreExistingImports  

  public static org.eclipse.jdt.core.dom.rewrite.ImportRewrite create(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=5, locals=8, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.CompilationUnit astRoot
        start local 1 // boolean restoreExistingImports
         0: .line 401
            aload 0 /* astRoot */
            ifnonnull 2
         1: .line 402
            new java.lang.IllegalArgumentException
            dup
            ldc "AST must not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 404
      StackMap locals:
      StackMap stack:
            aload 0 /* astRoot */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.getTypeRoot:()Lorg/eclipse/jdt/core/ITypeRoot;
            astore 2 /* typeRoot */
        start local 2 // org.eclipse.jdt.core.ITypeRoot typeRoot
         3: .line 405
            aload 2 /* typeRoot */
            instanceof org.eclipse.jdt.core.ICompilationUnit
            ifne 5
         4: .line 406
            new java.lang.IllegalArgumentException
            dup
            ldc "AST must have been constructed from a Java element"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 408
      StackMap locals: org.eclipse.jdt.core.ITypeRoot
      StackMap stack:
            aconst_null
            astore 3 /* existingImport */
        start local 3 // java.util.List existingImport
         6: .line 409
            iload 1 /* restoreExistingImports */
            ifeq 23
         7: .line 410
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* existingImport */
         8: .line 411
            aload 0 /* astRoot */
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.imports:()Ljava/util/List;
            astore 4 /* imports */
        start local 4 // java.util.List imports
         9: .line 412
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        10: goto 22
        11: .line 413
      StackMap locals: java.util.List java.util.List int
      StackMap stack:
            aload 4 /* imports */
            iload 5 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.dom.ImportDeclaration
            astore 6 /* curr */
        start local 6 // org.eclipse.jdt.core.dom.ImportDeclaration curr
        12: .line 414
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 7 /* buf */
        start local 7 // java.lang.StringBuffer buf
        13: .line 415
            aload 7 /* buf */
            aload 6 /* curr */
            invokevirtual org.eclipse.jdt.core.dom.ImportDeclaration.isStatic:()Z
            ifeq 14
            bipush 115
            goto 15
      StackMap locals: org.eclipse.jdt.core.dom.CompilationUnit int org.eclipse.jdt.core.ITypeRoot java.util.List java.util.List int org.eclipse.jdt.core.dom.ImportDeclaration java.lang.StringBuffer
      StackMap stack: java.lang.StringBuffer
        14: bipush 110
      StackMap locals: org.eclipse.jdt.core.dom.CompilationUnit int org.eclipse.jdt.core.ITypeRoot java.util.List java.util.List int org.eclipse.jdt.core.dom.ImportDeclaration java.lang.StringBuffer
      StackMap stack: java.lang.StringBuffer int
        15: invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            aload 6 /* curr */
            invokevirtual org.eclipse.jdt.core.dom.ImportDeclaration.getName:()Lorg/eclipse/jdt/core/dom/Name;
            invokevirtual org.eclipse.jdt.core.dom.Name.getFullyQualifiedName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        16: .line 416
            aload 6 /* curr */
            invokevirtual org.eclipse.jdt.core.dom.ImportDeclaration.isOnDemand:()Z
            ifeq 20
        17: .line 417
            aload 7 /* buf */
            invokevirtual java.lang.StringBuffer.length:()I
            iconst_1
            if_icmple 19
        18: .line 418
            aload 7 /* buf */
            bipush 46
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        19: .line 419
      StackMap locals:
      StackMap stack:
            aload 7 /* buf */
            bipush 42
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        20: .line 421
      StackMap locals:
      StackMap stack:
            aload 3 /* existingImport */
            aload 7 /* buf */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // java.lang.StringBuffer buf
        end local 6 // org.eclipse.jdt.core.dom.ImportDeclaration curr
        21: .line 412
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 5 /* i */
            aload 4 /* imports */
            invokeinterface java.util.List.size:()I
            if_icmplt 11
        end local 5 // int i
        end local 4 // java.util.List imports
        23: .line 424
      StackMap locals:
      StackMap stack:
            new org.eclipse.jdt.core.dom.rewrite.ImportRewrite
            dup
            aload 2 /* typeRoot */
            checkcast org.eclipse.jdt.core.ICompilationUnit
            aload 0 /* astRoot */
            aload 3 /* existingImport */
            invokespecial org.eclipse.jdt.core.dom.rewrite.ImportRewrite.<init>:(Lorg/eclipse/jdt/core/ICompilationUnit;Lorg/eclipse/jdt/core/dom/CompilationUnit;Ljava/util/List;)V
            areturn
        end local 3 // java.util.List existingImport
        end local 2 // org.eclipse.jdt.core.ITypeRoot typeRoot
        end local 1 // boolean restoreExistingImports
        end local 0 // org.eclipse.jdt.core.dom.CompilationUnit astRoot
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   24     0                 astRoot  Lorg/eclipse/jdt/core/dom/CompilationUnit;
            0   24     1  restoreExistingImports  Z
            3   24     2                typeRoot  Lorg/eclipse/jdt/core/ITypeRoot;
            6   24     3          existingImport  Ljava/util/List;
            9   23     4                 imports  Ljava/util/List;
           10   23     5                       i  I
           12   21     6                    curr  Lorg/eclipse/jdt/core/dom/ImportDeclaration;
           13   21     7                     buf  Ljava/lang/StringBuffer;
    MethodParameters:
                        Name  Flags
      astRoot                 
      restoreExistingImports  

  private void <init>(org.eclipse.jdt.core.ICompilationUnit, org.eclipse.jdt.core.dom.CompilationUnit, java.util.List);
    descriptor: (Lorg/eclipse/jdt/core/ICompilationUnit;Lorg/eclipse/jdt/core/dom/CompilationUnit;Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
        start local 1 // org.eclipse.jdt.core.ICompilationUnit cu
        start local 2 // org.eclipse.jdt.core.dom.CompilationUnit astRoot
        start local 3 // java.util.List existingImports
         0: .line 427
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 428
            aload 0 /* this */
            aload 1 /* cu */
            putfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.compilationUnit:Lorg/eclipse/jdt/core/ICompilationUnit;
         2: .line 429
            aload 0 /* this */
            aload 2 /* astRoot */
            putfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.astRoot:Lorg/eclipse/jdt/core/dom/CompilationUnit;
         3: .line 430
            aload 3 /* existingImports */
            ifnull 9
         4: .line 431
            aload 0 /* this */
            aload 3 /* existingImports */
            putfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.existingImports:Ljava/util/List;
         5: .line 432
            aload 0 /* this */
            aload 3 /* existingImports */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 6
            iconst_0
            goto 7
      StackMap locals: org.eclipse.jdt.core.dom.rewrite.ImportRewrite org.eclipse.jdt.core.ICompilationUnit org.eclipse.jdt.core.dom.CompilationUnit java.util.List
      StackMap stack: org.eclipse.jdt.core.dom.rewrite.ImportRewrite
         6: iconst_1
      StackMap locals: org.eclipse.jdt.core.dom.rewrite.ImportRewrite org.eclipse.jdt.core.ICompilationUnit org.eclipse.jdt.core.dom.CompilationUnit java.util.List
      StackMap stack: org.eclipse.jdt.core.dom.rewrite.ImportRewrite int
         7: putfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.restoreExistingImports:Z
         8: .line 433
            goto 11
         9: .line 434
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.existingImports:Ljava/util/List;
        10: .line 435
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.restoreExistingImports:Z
        11: .line 437
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.filterImplicitImports:Z
        12: .line 439
            aload 0 /* this */
            iconst_0
            putfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.useContextToFilterImplicitImports:Z
        13: .line 441
            aload 0 /* this */
            new org.eclipse.jdt.core.dom.rewrite.ImportRewrite$1
            dup
            aload 0 /* this */
            invokespecial org.eclipse.jdt.core.dom.rewrite.ImportRewrite$1.<init>:(Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;)V
            putfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.defaultContext:Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;
        14: .line 447
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addedImports:Ljava/util/List;
        15: .line 448
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.removedImports:Ljava/util/List;
        16: .line 449
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.typeExplicitSimpleNames:Ljava/util/Set;
        17: .line 450
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.staticExplicitSimpleNames:Ljava/util/Set;
        18: .line 451
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.createdImports:[Ljava/lang/String;
        19: .line 452
            aload 0 /* this */
            aconst_null
            putfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.createdStaticImports:[Ljava/lang/String;
        20: .line 454
            aload 0 /* this */
            getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_STRINGS:[Ljava/lang/String;
            putfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.importOrder:[Ljava/lang/String;
        21: .line 455
            aload 0 /* this */
            bipush 99
            putfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.importOnDemandThreshold:I
        22: .line 456
            aload 0 /* this */
            bipush 99
            putfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.staticImportOnDemandThreshold:I
        23: .line 458
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.importsKindMap:Ljava/util/Map;
        24: .line 459
            return
        end local 3 // java.util.List existingImports
        end local 2 // org.eclipse.jdt.core.dom.CompilationUnit astRoot
        end local 1 // org.eclipse.jdt.core.ICompilationUnit cu
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   25     0             this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            0   25     1               cu  Lorg/eclipse/jdt/core/ICompilationUnit;
            0   25     2          astRoot  Lorg/eclipse/jdt/core/dom/CompilationUnit;
            0   25     3  existingImports  Ljava/util/List;
    MethodParameters:
                 Name  Flags
      cu               
      astRoot          
      existingImports  

  public void setImportOrder(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
        start local 1 // java.lang.String[] order
         0: .line 470
            aload 1 /* order */
            ifnonnull 2
         1: .line 471
            new java.lang.IllegalArgumentException
            dup
            ldc "Order must not be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 472
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* order */
            putfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.importOrder:[Ljava/lang/String;
         3: .line 473
            return
        end local 1 // java.lang.String[] order
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            0    4     1  order  [Ljava/lang/String;
    MethodParameters:
       Name  Flags
      order  

  public void setOnDemandImportThreshold(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
        start local 1 // int threshold
         0: .line 486
            iload 1 /* threshold */
            ifgt 2
         1: .line 487
            new java.lang.IllegalArgumentException
            dup
            ldc "Threshold must be positive."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 488
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* threshold */
            putfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.importOnDemandThreshold:I
         3: .line 489
            return
        end local 1 // int threshold
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            0    4     1  threshold  I
    MethodParameters:
           Name  Flags
      threshold  

  public void setStaticOnDemandImportThreshold(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
        start local 1 // int threshold
         0: .line 502
            iload 1 /* threshold */
            ifgt 2
         1: .line 503
            new java.lang.IllegalArgumentException
            dup
            ldc "Threshold must be positive."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 504
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* threshold */
            putfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.staticImportOnDemandThreshold:I
         3: .line 505
            return
        end local 1 // int threshold
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            0    4     1  threshold  I
    MethodParameters:
           Name  Flags
      threshold  

  public org.eclipse.jdt.core.ICompilationUnit getCompilationUnit();
    descriptor: ()Lorg/eclipse/jdt/core/ICompilationUnit;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
         0: .line 512
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.compilationUnit:Lorg/eclipse/jdt/core/ICompilationUnit;
            areturn
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;

  public org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext getDefaultImportRewriteContext();
    descriptor: ()Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
         0: .line 521
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.defaultContext:Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;
            areturn
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;

  public void setFilterImplicitImports(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
        start local 1 // boolean filterImplicitImports
         0: .line 542
            aload 0 /* this */
            iload 1 /* filterImplicitImports */
            putfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.filterImplicitImports:Z
         1: .line 543
            return
        end local 1 // boolean filterImplicitImports
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    2     0                   this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            0    2     1  filterImplicitImports  Z
    MethodParameters:
                       Name  Flags
      filterImplicitImports  

  public void setUseContextToFilterImplicitImports(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
        start local 1 // boolean useContextToFilterImplicitImports
         0: .line 562
            aload 0 /* this */
            iload 1 /* useContextToFilterImplicitImports */
            putfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.useContextToFilterImplicitImports:Z
         1: .line 563
            return
        end local 1 // boolean useContextToFilterImplicitImports
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot                               Name  Signature
            0    2     0                               this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            0    2     1  useContextToFilterImplicitImports  Z
    MethodParameters:
                                   Name  Flags
      useContextToFilterImplicitImports  

  private static int compareImport(char, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (CLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=4
        start local 0 // char prefix
        start local 1 // java.lang.String qualifier
        start local 2 // java.lang.String name
        start local 3 // java.lang.String curr
         0: .line 566
            aload 3 /* curr */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            iload 0 /* prefix */
            if_icmpne 1
            aload 3 /* curr */
            aload 2 /* name */
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 2
         1: .line 567
      StackMap locals:
      StackMap stack:
            iconst_2
            ireturn
         2: .line 570
      StackMap locals:
      StackMap stack:
            aload 3 /* curr */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 3 /* curr */
         3: .line 572
            aload 3 /* curr */
            invokevirtual java.lang.String.length:()I
            aload 2 /* name */
            invokevirtual java.lang.String.length:()I
            if_icmpne 7
         4: .line 573
            aload 1 /* qualifier */
            invokevirtual java.lang.String.length:()I
            ifne 6
         5: .line 574
            iconst_1
            ireturn
         6: .line 576
      StackMap locals:
      StackMap stack:
            iconst_3
            ireturn
         7: .line 580
      StackMap locals:
      StackMap stack:
            aload 3 /* curr */
            invokevirtual java.lang.String.length:()I
            aload 2 /* name */
            invokevirtual java.lang.String.length:()I
            isub
            iconst_1
            isub
            istore 4 /* dotPos */
        start local 4 // int dotPos
         8: .line 581
            aload 3 /* curr */
            iload 4 /* dotPos */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 46
            if_icmpeq 10
         9: .line 582
            iconst_2
            ireturn
        10: .line 584
      StackMap locals: int
      StackMap stack:
            aload 1 /* qualifier */
            invokevirtual java.lang.String.length:()I
            iload 4 /* dotPos */
            if_icmpne 11
            aload 3 /* curr */
            aload 1 /* qualifier */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 12
        11: .line 585
      StackMap locals:
      StackMap stack:
            iconst_3
            ireturn
        12: .line 587
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 4 // int dotPos
        end local 3 // java.lang.String curr
        end local 2 // java.lang.String name
        end local 1 // java.lang.String qualifier
        end local 0 // char prefix
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0     prefix  C
            0   13     1  qualifier  Ljava/lang/String;
            0   13     2       name  Ljava/lang/String;
            0   13     3       curr  Ljava/lang/String;
            8   13     4     dotPos  I
    MethodParameters:
           Name  Flags
      prefix     
      qualifier  
      name       
      curr       

  final int findInImports(java.lang.String, java.lang.String, int);
    descriptor: (Ljava/lang/String;Ljava/lang/String;I)I
    flags: (0x0010) ACC_FINAL
    Code:
      stack=5, locals=15, args_size=4
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
        start local 1 // java.lang.String qualifier
        start local 2 // java.lang.String name
        start local 3 // int kind
         0: .line 594
            iload 3 /* kind */
            iconst_3
            if_icmpeq 2
            aload 2 /* name */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmpne 1
            aload 2 /* name */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 42
            if_icmpeq 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_1
      StackMap locals:
      StackMap stack: int
         3: istore 4 /* allowAmbiguity */
        start local 4 // boolean allowAmbiguity
         4: .line 595
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.existingImports:Ljava/util/List;
            astore 5 /* imports */
        start local 5 // java.util.List imports
         5: .line 596
            iload 3 /* kind */
            iconst_1
            if_icmpne 6
            bipush 110
            goto 7
      StackMap locals: int java.util.List
      StackMap stack:
         6: bipush 115
      StackMap locals:
      StackMap stack: int
         7: istore 6 /* prefix */
        start local 6 // char prefix
         8: .line 598
            aload 5 /* imports */
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            istore 7 /* i */
        start local 7 // int i
         9: goto 20
        10: .line 599
      StackMap locals: int int
      StackMap stack:
            aload 5 /* imports */
            iload 7 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* curr */
        start local 8 // java.lang.String curr
        11: .line 600
            iload 6 /* prefix */
            aload 1 /* qualifier */
            aload 2 /* name */
            aload 8 /* curr */
            invokestatic org.eclipse.jdt.core.dom.rewrite.ImportRewrite.compareImport:(CLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
            istore 9 /* res */
        start local 9 // int res
        12: .line 601
            iload 9 /* res */
            iconst_2
            if_icmpeq 19
        13: .line 602
            iload 4 /* allowAmbiguity */
            ifeq 14
            iload 9 /* res */
            iconst_1
            if_icmpne 19
        14: .line 603
      StackMap locals: java.lang.String int
      StackMap stack:
            iload 6 /* prefix */
            bipush 115
            if_icmpeq 16
        15: .line 604
            iload 9 /* res */
            ireturn
        16: .line 606
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.importsKindMap:Ljava/util/Map;
            aload 8 /* curr */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 10 /* currKind */
        start local 10 // java.lang.Object currKind
        17: .line 607
            aload 10 /* currKind */
            ifnull 19
            aload 10 /* currKind */
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.importsKindMap:Ljava/util/Map;
            new java.lang.StringBuilder
            dup
            aload 1 /* qualifier */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 19
        18: .line 608
            iload 9 /* res */
            ireturn
        end local 10 // java.lang.Object currKind
        end local 9 // int res
        end local 8 // java.lang.String curr
        19: .line 598
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ -1
      StackMap locals:
      StackMap stack:
        20: iload 7 /* i */
            ifge 10
        end local 7 // int i
        21: .line 614
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.compilationUnit:Lorg/eclipse/jdt/core/ICompilationUnit;
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getParent:()Lorg/eclipse/jdt/core/IJavaElement;
            invokeinterface org.eclipse.jdt.core.IJavaElement.getElementName:()Ljava/lang/String;
            astore 7 /* packageName */
        start local 7 // java.lang.String packageName
        22: .line 615
            iload 3 /* kind */
            iconst_1
            if_icmpne 59
        23: .line 616
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.filterImplicitImports:Z
            ifeq 59
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.useContextToFilterImplicitImports:Z
            ifeq 59
        24: .line 617
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.compilationUnit:Lorg/eclipse/jdt/core/ICompilationUnit;
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getElementName:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.core.JavaCore.removeJavaLikeExtension:(Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* mainTypeSimpleName */
        start local 8 // java.lang.String mainTypeSimpleName
        25: .line 618
            aload 7 /* packageName */
            aload 8 /* mainTypeSimpleName */
            bipush 46
            invokestatic org.eclipse.jdt.internal.core.util.Util.concatenateName:(Ljava/lang/String;Ljava/lang/String;C)Ljava/lang/String;
            astore 9 /* mainTypeName */
        start local 9 // java.lang.String mainTypeName
        26: .line 619
            aload 1 /* qualifier */
            aload 7 /* packageName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 28
        27: .line 620
            aload 9 /* mainTypeName */
            aload 1 /* qualifier */
            aload 2 /* name */
            bipush 46
            invokestatic org.eclipse.jdt.internal.core.util.Util.concatenateName:(Ljava/lang/String;Ljava/lang/String;C)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 29
        28: .line 621
      StackMap locals: org.eclipse.jdt.core.dom.rewrite.ImportRewrite java.lang.String java.lang.String int int java.util.List int java.lang.String java.lang.String java.lang.String
      StackMap stack:
            iconst_1
            ireturn
        29: .line 624
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.astRoot:Lorg/eclipse/jdt/core/dom/CompilationUnit;
            ifnull 44
        30: .line 625
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.astRoot:Lorg/eclipse/jdt/core/dom/CompilationUnit;
            invokevirtual org.eclipse.jdt.core.dom.CompilationUnit.types:()Ljava/util/List;
            astore 10 /* types */
        start local 10 // java.util.List types
        31: .line 626
            aload 10 /* types */
            invokeinterface java.util.List.size:()I
            istore 11 /* nTypes */
        start local 11 // int nTypes
        32: .line 627
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        33: goto 42
        34: .line 628
      StackMap locals: java.util.List int int
      StackMap stack:
            aload 10 /* types */
            iload 12 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.dom.AbstractTypeDeclaration
            astore 13 /* type */
        start local 13 // org.eclipse.jdt.core.dom.AbstractTypeDeclaration type
        35: .line 629
            aload 13 /* type */
            invokevirtual org.eclipse.jdt.core.dom.AbstractTypeDeclaration.getName:()Lorg/eclipse/jdt/core/dom/SimpleName;
            astore 14 /* simpleName */
        start local 14 // org.eclipse.jdt.core.dom.SimpleName simpleName
        36: .line 630
            aload 14 /* simpleName */
            invokevirtual org.eclipse.jdt.core.dom.SimpleName.getIdentifier:()Ljava/lang/String;
            aload 2 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 41
        37: .line 631
            aload 1 /* qualifier */
            aload 7 /* packageName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 39
        38: .line 632
            iconst_1
            goto 40
        39: .line 633
      StackMap locals: org.eclipse.jdt.core.dom.AbstractTypeDeclaration org.eclipse.jdt.core.dom.SimpleName
      StackMap stack:
            iconst_3
        40: .line 631
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 14 // org.eclipse.jdt.core.dom.SimpleName simpleName
        end local 13 // org.eclipse.jdt.core.dom.AbstractTypeDeclaration type
        41: .line 627
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        42: iload 12 /* i */
            iload 11 /* nTypes */
            if_icmplt 34
        end local 12 // int i
        end local 11 // int nTypes
        end local 10 // java.util.List types
        43: .line 636
            goto 59
        44: .line 638
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.compilationUnit:Lorg/eclipse/jdt/core/ICompilationUnit;
            invokeinterface org.eclipse.jdt.core.ICompilationUnit.getTypes:()[Lorg/eclipse/jdt/core/IType;
            astore 10 /* types */
        start local 10 // org.eclipse.jdt.core.IType[] types
        45: .line 639
            aload 10 /* types */
            arraylength
            istore 11 /* nTypes */
        start local 11 // int nTypes
        46: .line 640
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        47: goto 56
        48: .line 641
      StackMap locals: org.eclipse.jdt.core.IType[] int int
      StackMap stack:
            aload 10 /* types */
            iload 12 /* i */
            aaload
            astore 13 /* type */
        start local 13 // org.eclipse.jdt.core.IType type
        49: .line 642
            aload 13 /* type */
            invokeinterface org.eclipse.jdt.core.IType.getElementName:()Ljava/lang/String;
            astore 14 /* typeName */
        start local 14 // java.lang.String typeName
        50: .line 643
            aload 14 /* typeName */
            aload 2 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 55
        51: .line 644
            aload 1 /* qualifier */
            aload 7 /* packageName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 53
        52: .line 645
            iconst_1
            goto 54
        53: .line 646
      StackMap locals: org.eclipse.jdt.core.IType java.lang.String
      StackMap stack:
            iconst_3
        54: .line 644
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 14 // java.lang.String typeName
        end local 13 // org.eclipse.jdt.core.IType type
        55: .line 640
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        56: iload 12 /* i */
            iload 11 /* nTypes */
            if_icmplt 48
        end local 12 // int i
        end local 11 // int nTypes
        end local 10 // org.eclipse.jdt.core.IType[] types
        57: .line 649
            goto 59
      StackMap locals: org.eclipse.jdt.core.dom.rewrite.ImportRewrite java.lang.String java.lang.String int int java.util.List int java.lang.String java.lang.String java.lang.String
      StackMap stack: org.eclipse.jdt.core.JavaModelException
        58: pop
        end local 9 // java.lang.String mainTypeName
        end local 8 // java.lang.String mainTypeSimpleName
        59: .line 656
      StackMap locals:
      StackMap stack:
            iconst_2
            ireturn
        end local 7 // java.lang.String packageName
        end local 6 // char prefix
        end local 5 // java.util.List imports
        end local 4 // boolean allowAmbiguity
        end local 3 // int kind
        end local 2 // java.lang.String name
        end local 1 // java.lang.String qualifier
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   60     0                this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            0   60     1           qualifier  Ljava/lang/String;
            0   60     2                name  Ljava/lang/String;
            0   60     3                kind  I
            4   60     4      allowAmbiguity  Z
            5   60     5             imports  Ljava/util/List;
            8   60     6              prefix  C
            9   21     7                   i  I
           11   19     8                curr  Ljava/lang/String;
           12   19     9                 res  I
           17   19    10            currKind  Ljava/lang/Object;
           22   60     7         packageName  Ljava/lang/String;
           25   59     8  mainTypeSimpleName  Ljava/lang/String;
           26   59     9        mainTypeName  Ljava/lang/String;
           31   43    10               types  Ljava/util/List<Lorg/eclipse/jdt/core/dom/AbstractTypeDeclaration;>;
           32   43    11              nTypes  I
           33   43    12                   i  I
           35   41    13                type  Lorg/eclipse/jdt/core/dom/AbstractTypeDeclaration;
           36   41    14          simpleName  Lorg/eclipse/jdt/core/dom/SimpleName;
           45   57    10               types  [Lorg/eclipse/jdt/core/IType;
           46   57    11              nTypes  I
           47   57    12                   i  I
           49   55    13                type  Lorg/eclipse/jdt/core/IType;
           50   55    14            typeName  Ljava/lang/String;
      Exception table:
        from    to  target  type
          44    54      58  Class org.eclipse.jdt.core.JavaModelException
          55    57      58  Class org.eclipse.jdt.core.JavaModelException
    MethodParameters:
           Name  Flags
      qualifier  
      name       
      kind       

  public org.eclipse.jdt.core.dom.Annotation addAnnotation(org.eclipse.jdt.core.dom.IAnnotationBinding, org.eclipse.jdt.core.dom.AST, org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext);
    descriptor: (Lorg/eclipse/jdt/core/dom/IAnnotationBinding;Lorg/eclipse/jdt/core/dom/AST;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;)Lorg/eclipse/jdt/core/dom/Annotation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=12, args_size=4
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
        start local 1 // org.eclipse.jdt.core.dom.IAnnotationBinding annotation
        start local 2 // org.eclipse.jdt.core.dom.AST ast
        start local 3 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext context
         0: .line 679
            aload 0 /* this */
            aload 1 /* annotation */
            invokeinterface org.eclipse.jdt.core.dom.IAnnotationBinding.getAnnotationType:()Lorg/eclipse/jdt/core/dom/ITypeBinding;
            aload 2 /* ast */
            aload 3 /* context */
            getstatic org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation.OTHER:Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addImport:(Lorg/eclipse/jdt/core/dom/ITypeBinding;Lorg/eclipse/jdt/core/dom/AST;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;)Lorg/eclipse/jdt/core/dom/Type;
            astore 4 /* type */
        start local 4 // org.eclipse.jdt.core.dom.Type type
         1: .line 681
            aload 4 /* type */
            instanceof org.eclipse.jdt.core.dom.SimpleType
            ifeq 6
         2: .line 682
            aload 4 /* type */
            checkcast org.eclipse.jdt.core.dom.SimpleType
            astore 6 /* simpleType */
        start local 6 // org.eclipse.jdt.core.dom.SimpleType simpleType
         3: .line 683
            aload 6 /* simpleType */
            invokevirtual org.eclipse.jdt.core.dom.SimpleType.getName:()Lorg/eclipse/jdt/core/dom/Name;
            astore 5 /* name */
        start local 5 // org.eclipse.jdt.core.dom.Name name
         4: .line 685
            aload 6 /* simpleType */
            aload 2 /* ast */
            ldc "a"
            invokevirtual org.eclipse.jdt.core.dom.AST.newName:(Ljava/lang/String;)Lorg/eclipse/jdt/core/dom/Name;
            invokevirtual org.eclipse.jdt.core.dom.SimpleType.setName:(Lorg/eclipse/jdt/core/dom/Name;)V
        end local 6 // org.eclipse.jdt.core.dom.SimpleType simpleType
         5: .line 686
            goto 7
        end local 5 // org.eclipse.jdt.core.dom.Name name
         6: .line 687
      StackMap locals: org.eclipse.jdt.core.dom.Type
      StackMap stack:
            aload 2 /* ast */
            ldc "invalid"
            invokevirtual org.eclipse.jdt.core.dom.AST.newName:(Ljava/lang/String;)Lorg/eclipse/jdt/core/dom/Name;
            astore 5 /* name */
        start local 5 // org.eclipse.jdt.core.dom.Name name
         7: .line 690
      StackMap locals: org.eclipse.jdt.core.dom.Name
      StackMap stack:
            aload 1 /* annotation */
            invokeinterface org.eclipse.jdt.core.dom.IAnnotationBinding.getDeclaredMemberValuePairs:()[Lorg/eclipse/jdt/core/dom/IMemberValuePairBinding;
            astore 6 /* mvps */
        start local 6 // org.eclipse.jdt.core.dom.IMemberValuePairBinding[] mvps
         8: .line 691
            aload 6 /* mvps */
            arraylength
            ifne 12
         9: .line 692
            aload 2 /* ast */
            invokevirtual org.eclipse.jdt.core.dom.AST.newMarkerAnnotation:()Lorg/eclipse/jdt/core/dom/MarkerAnnotation;
            astore 7 /* result */
        start local 7 // org.eclipse.jdt.core.dom.MarkerAnnotation result
        10: .line 693
            aload 7 /* result */
            aload 5 /* name */
            invokevirtual org.eclipse.jdt.core.dom.MarkerAnnotation.setTypeName:(Lorg/eclipse/jdt/core/dom/Name;)V
        11: .line 694
            aload 7 /* result */
            areturn
        end local 7 // org.eclipse.jdt.core.dom.MarkerAnnotation result
        12: .line 695
      StackMap locals: org.eclipse.jdt.core.dom.IMemberValuePairBinding[]
      StackMap stack:
            aload 6 /* mvps */
            arraylength
            iconst_1
            if_icmpne 19
            ldc "value"
            aload 6 /* mvps */
            iconst_0
            aaload
            invokeinterface org.eclipse.jdt.core.dom.IMemberValuePairBinding.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 19
        13: .line 696
            aload 2 /* ast */
            invokevirtual org.eclipse.jdt.core.dom.AST.newSingleMemberAnnotation:()Lorg/eclipse/jdt/core/dom/SingleMemberAnnotation;
            astore 7 /* result */
        start local 7 // org.eclipse.jdt.core.dom.SingleMemberAnnotation result
        14: .line 697
            aload 7 /* result */
            aload 5 /* name */
            invokevirtual org.eclipse.jdt.core.dom.SingleMemberAnnotation.setTypeName:(Lorg/eclipse/jdt/core/dom/Name;)V
        15: .line 698
            aload 6 /* mvps */
            iconst_0
            aaload
            invokeinterface org.eclipse.jdt.core.dom.IMemberValuePairBinding.getValue:()Ljava/lang/Object;
            astore 8 /* value */
        start local 8 // java.lang.Object value
        16: .line 699
            aload 8 /* value */
            ifnull 18
        17: .line 700
            aload 7 /* result */
            aload 0 /* this */
            aload 2 /* ast */
            aload 8 /* value */
            aload 3 /* context */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addAnnotation:(Lorg/eclipse/jdt/core/dom/AST;Ljava/lang/Object;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;)Lorg/eclipse/jdt/core/dom/Expression;
            invokevirtual org.eclipse.jdt.core.dom.SingleMemberAnnotation.setValue:(Lorg/eclipse/jdt/core/dom/Expression;)V
        18: .line 701
      StackMap locals: org.eclipse.jdt.core.dom.SingleMemberAnnotation java.lang.Object
      StackMap stack:
            aload 7 /* result */
            areturn
        end local 8 // java.lang.Object value
        end local 7 // org.eclipse.jdt.core.dom.SingleMemberAnnotation result
        19: .line 703
      StackMap locals:
      StackMap stack:
            aload 2 /* ast */
            invokevirtual org.eclipse.jdt.core.dom.AST.newNormalAnnotation:()Lorg/eclipse/jdt/core/dom/NormalAnnotation;
            astore 7 /* result */
        start local 7 // org.eclipse.jdt.core.dom.NormalAnnotation result
        20: .line 704
            aload 7 /* result */
            aload 5 /* name */
            invokevirtual org.eclipse.jdt.core.dom.NormalAnnotation.setTypeName:(Lorg/eclipse/jdt/core/dom/Name;)V
        21: .line 705
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        22: goto 31
        23: .line 706
      StackMap locals: org.eclipse.jdt.core.dom.NormalAnnotation int
      StackMap stack:
            aload 6 /* mvps */
            iload 8 /* i */
            aaload
            astore 9 /* mvp */
        start local 9 // org.eclipse.jdt.core.dom.IMemberValuePairBinding mvp
        24: .line 707
            aload 2 /* ast */
            invokevirtual org.eclipse.jdt.core.dom.AST.newMemberValuePair:()Lorg/eclipse/jdt/core/dom/MemberValuePair;
            astore 10 /* mvpNode */
        start local 10 // org.eclipse.jdt.core.dom.MemberValuePair mvpNode
        25: .line 708
            aload 10 /* mvpNode */
            aload 2 /* ast */
            aload 9 /* mvp */
            invokeinterface org.eclipse.jdt.core.dom.IMemberValuePairBinding.getName:()Ljava/lang/String;
            invokevirtual org.eclipse.jdt.core.dom.AST.newSimpleName:(Ljava/lang/String;)Lorg/eclipse/jdt/core/dom/SimpleName;
            invokevirtual org.eclipse.jdt.core.dom.MemberValuePair.setName:(Lorg/eclipse/jdt/core/dom/SimpleName;)V
        26: .line 709
            aload 9 /* mvp */
            invokeinterface org.eclipse.jdt.core.dom.IMemberValuePairBinding.getValue:()Ljava/lang/Object;
            astore 11 /* value */
        start local 11 // java.lang.Object value
        27: .line 710
            aload 11 /* value */
            ifnull 29
        28: .line 711
            aload 10 /* mvpNode */
            aload 0 /* this */
            aload 2 /* ast */
            aload 11 /* value */
            aload 3 /* context */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addAnnotation:(Lorg/eclipse/jdt/core/dom/AST;Ljava/lang/Object;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;)Lorg/eclipse/jdt/core/dom/Expression;
            invokevirtual org.eclipse.jdt.core.dom.MemberValuePair.setValue:(Lorg/eclipse/jdt/core/dom/Expression;)V
        29: .line 712
      StackMap locals: org.eclipse.jdt.core.dom.IMemberValuePairBinding org.eclipse.jdt.core.dom.MemberValuePair java.lang.Object
      StackMap stack:
            aload 7 /* result */
            invokevirtual org.eclipse.jdt.core.dom.NormalAnnotation.values:()Ljava/util/List;
            aload 10 /* mvpNode */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // java.lang.Object value
        end local 10 // org.eclipse.jdt.core.dom.MemberValuePair mvpNode
        end local 9 // org.eclipse.jdt.core.dom.IMemberValuePairBinding mvp
        30: .line 705
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        31: iload 8 /* i */
            aload 6 /* mvps */
            arraylength
            if_icmplt 23
        end local 8 // int i
        32: .line 714
            aload 7 /* result */
            areturn
        end local 7 // org.eclipse.jdt.core.dom.NormalAnnotation result
        end local 6 // org.eclipse.jdt.core.dom.IMemberValuePairBinding[] mvps
        end local 5 // org.eclipse.jdt.core.dom.Name name
        end local 4 // org.eclipse.jdt.core.dom.Type type
        end local 3 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext context
        end local 2 // org.eclipse.jdt.core.dom.AST ast
        end local 1 // org.eclipse.jdt.core.dom.IAnnotationBinding annotation
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   33     0        this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            0   33     1  annotation  Lorg/eclipse/jdt/core/dom/IAnnotationBinding;
            0   33     2         ast  Lorg/eclipse/jdt/core/dom/AST;
            0   33     3     context  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;
            1   33     4        type  Lorg/eclipse/jdt/core/dom/Type;
            4    6     5        name  Lorg/eclipse/jdt/core/dom/Name;
            7   33     5        name  Lorg/eclipse/jdt/core/dom/Name;
            3    5     6  simpleType  Lorg/eclipse/jdt/core/dom/SimpleType;
            8   33     6        mvps  [Lorg/eclipse/jdt/core/dom/IMemberValuePairBinding;
           10   12     7      result  Lorg/eclipse/jdt/core/dom/MarkerAnnotation;
           14   19     7      result  Lorg/eclipse/jdt/core/dom/SingleMemberAnnotation;
           16   19     8       value  Ljava/lang/Object;
           20   33     7      result  Lorg/eclipse/jdt/core/dom/NormalAnnotation;
           22   32     8           i  I
           24   30     9         mvp  Lorg/eclipse/jdt/core/dom/IMemberValuePairBinding;
           25   30    10     mvpNode  Lorg/eclipse/jdt/core/dom/MemberValuePair;
           27   30    11       value  Ljava/lang/Object;
    MethodParameters:
            Name  Flags
      annotation  
      ast         
      context     

  public org.eclipse.jdt.core.dom.Type addImportFromSignature(java.lang.String, org.eclipse.jdt.core.dom.AST);
    descriptor: (Ljava/lang/String;Lorg/eclipse/jdt/core/dom/AST;)Lorg/eclipse/jdt/core/dom/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
        start local 1 // java.lang.String typeSig
        start local 2 // org.eclipse.jdt.core.dom.AST ast
         0: .line 737
            aload 0 /* this */
            aload 1 /* typeSig */
            aload 2 /* ast */
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.defaultContext:Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addImportFromSignature:(Ljava/lang/String;Lorg/eclipse/jdt/core/dom/AST;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;)Lorg/eclipse/jdt/core/dom/Type;
            areturn
        end local 2 // org.eclipse.jdt.core.dom.AST ast
        end local 1 // java.lang.String typeSig
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            0    1     1  typeSig  Ljava/lang/String;
            0    1     2      ast  Lorg/eclipse/jdt/core/dom/AST;
    MethodParameters:
         Name  Flags
      typeSig  
      ast      

  public org.eclipse.jdt.core.dom.Type addImportFromSignature(java.lang.String, org.eclipse.jdt.core.dom.AST, org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext);
    descriptor: (Ljava/lang/String;Lorg/eclipse/jdt/core/dom/AST;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;)Lorg/eclipse/jdt/core/dom/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=14, args_size=4
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
        start local 1 // java.lang.String typeSig
        start local 2 // org.eclipse.jdt.core.dom.AST ast
        start local 3 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext context
         0: .line 761
            aload 1 /* typeSig */
            ifnull 1
            aload 1 /* typeSig */
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 762
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Invalid type signature: empty or null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 764
      StackMap locals:
      StackMap stack:
            aload 1 /* typeSig */
            invokestatic org.eclipse.jdt.core.Signature.getTypeSignatureKind:(Ljava/lang/String;)I
            istore 4 /* sigKind */
        start local 4 // int sigKind
         3: .line 765
            iload 4 /* sigKind */
            tableswitch { // 1 - 6
                    1: 7
                    2: 4
                    3: 27
                    4: 5
                    5: 28
                    6: 36
              default: 37
          }
         4: .line 767
      StackMap locals: int
      StackMap stack:
            aload 2 /* ast */
            aload 1 /* typeSig */
            invokestatic org.eclipse.jdt.core.Signature.toString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic org.eclipse.jdt.core.dom.PrimitiveType.toCode:(Ljava/lang/String;)Lorg/eclipse/jdt/core/dom/PrimitiveType$Code;
            invokevirtual org.eclipse.jdt.core.dom.AST.newPrimitiveType:(Lorg/eclipse/jdt/core/dom/PrimitiveType$Code;)Lorg/eclipse/jdt/core/dom/PrimitiveType;
            areturn
         5: .line 769
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* typeSig */
            invokestatic org.eclipse.jdt.core.Signature.getElementType:(Ljava/lang/String;)Ljava/lang/String;
            aload 2 /* ast */
            aload 3 /* context */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addImportFromSignature:(Ljava/lang/String;Lorg/eclipse/jdt/core/dom/AST;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;)Lorg/eclipse/jdt/core/dom/Type;
            astore 5 /* elementType */
        start local 5 // org.eclipse.jdt.core.dom.Type elementType
         6: .line 770
            aload 2 /* ast */
            aload 5 /* elementType */
            aload 1 /* typeSig */
            invokestatic org.eclipse.jdt.core.Signature.getArrayCount:(Ljava/lang/String;)I
            invokevirtual org.eclipse.jdt.core.dom.AST.newArrayType:(Lorg/eclipse/jdt/core/dom/Type;I)Lorg/eclipse/jdt/core/dom/ArrayType;
            areturn
        end local 5 // org.eclipse.jdt.core.dom.Type elementType
         7: .line 772
      StackMap locals:
      StackMap stack:
            aload 1 /* typeSig */
            invokestatic org.eclipse.jdt.core.Signature.getTypeErasure:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* erasureSig */
        start local 6 // java.lang.String erasureSig
         8: .line 774
            aload 6 /* erasureSig */
            invokestatic org.eclipse.jdt.core.Signature.toString:(Ljava/lang/String;)Ljava/lang/String;
            astore 7 /* erasureName */
        start local 7 // java.lang.String erasureName
         9: .line 775
            aload 6 /* erasureSig */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 76
            if_icmpne 11
        10: .line 776
            aload 0 /* this */
            aload 7 /* erasureName */
            aload 3 /* context */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.internalAddImport:(Ljava/lang/String;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;)Ljava/lang/String;
            astore 7 /* erasureName */
        11: .line 778
      StackMap locals: org.eclipse.jdt.core.dom.rewrite.ImportRewrite java.lang.String org.eclipse.jdt.core.dom.AST org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext int top java.lang.String java.lang.String
      StackMap stack:
            aload 2 /* ast */
            aload 2 /* ast */
            aload 7 /* erasureName */
            invokevirtual org.eclipse.jdt.core.dom.AST.newName:(Ljava/lang/String;)Lorg/eclipse/jdt/core/dom/Name;
            invokevirtual org.eclipse.jdt.core.dom.AST.newSimpleType:(Lorg/eclipse/jdt/core/dom/Name;)Lorg/eclipse/jdt/core/dom/SimpleType;
            astore 8 /* baseType */
        start local 8 // org.eclipse.jdt.core.dom.Type baseType
        12: .line 779
            aload 1 /* typeSig */
            invokestatic org.eclipse.jdt.core.Signature.getTypeArguments:(Ljava/lang/String;)[Ljava/lang/String;
            astore 9 /* typeArguments */
        start local 9 // java.lang.String[] typeArguments
        13: .line 780
            aload 9 /* typeArguments */
            arraylength
            ifle 26
        14: .line 781
            aload 2 /* ast */
            aload 8 /* baseType */
            invokevirtual org.eclipse.jdt.core.dom.AST.newParameterizedType:(Lorg/eclipse/jdt/core/dom/Type;)Lorg/eclipse/jdt/core/dom/ParameterizedType;
            astore 10 /* type */
        start local 10 // org.eclipse.jdt.core.dom.ParameterizedType type
        15: .line 782
            aload 10 /* type */
            invokevirtual org.eclipse.jdt.core.dom.ParameterizedType.typeArguments:()Ljava/util/List;
            astore 11 /* argNodes */
        start local 11 // java.util.List argNodes
        16: .line 783
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        17: goto 24
        18: .line 784
      StackMap locals: org.eclipse.jdt.core.dom.rewrite.ImportRewrite java.lang.String org.eclipse.jdt.core.dom.AST org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext int top java.lang.String java.lang.String org.eclipse.jdt.core.dom.Type java.lang.String[] org.eclipse.jdt.core.dom.ParameterizedType java.util.List int
      StackMap stack:
            aload 9 /* typeArguments */
            iload 12 /* i */
            aaload
            astore 13 /* curr */
        start local 13 // java.lang.String curr
        19: .line 785
            aload 0 /* this */
            aload 13 /* curr */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.containsNestedCapture:(Ljava/lang/String;)Z
            ifeq 22
        20: .line 786
            aload 11 /* argNodes */
            aload 2 /* ast */
            invokevirtual org.eclipse.jdt.core.dom.AST.newWildcardType:()Lorg/eclipse/jdt/core/dom/WildcardType;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        21: .line 787
            goto 23
        22: .line 788
      StackMap locals: java.lang.String
      StackMap stack:
            aload 11 /* argNodes */
            aload 0 /* this */
            aload 13 /* curr */
            aload 2 /* ast */
            aload 3 /* context */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addImportFromSignature:(Ljava/lang/String;Lorg/eclipse/jdt/core/dom/AST;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;)Lorg/eclipse/jdt/core/dom/Type;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 13 // java.lang.String curr
        23: .line 783
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 12 /* i */
            aload 9 /* typeArguments */
            arraylength
            if_icmplt 18
        end local 12 // int i
        25: .line 791
            aload 10 /* type */
            areturn
        end local 11 // java.util.List argNodes
        end local 10 // org.eclipse.jdt.core.dom.ParameterizedType type
        26: .line 793
      StackMap locals:
      StackMap stack:
            aload 8 /* baseType */
            areturn
        end local 9 // java.lang.String[] typeArguments
        end local 8 // org.eclipse.jdt.core.dom.Type baseType
        end local 7 // java.lang.String erasureName
        end local 6 // java.lang.String erasureSig
        27: .line 795
      StackMap locals: org.eclipse.jdt.core.dom.rewrite.ImportRewrite java.lang.String org.eclipse.jdt.core.dom.AST org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext int
      StackMap stack:
            aload 2 /* ast */
            aload 2 /* ast */
            aload 1 /* typeSig */
            invokestatic org.eclipse.jdt.core.Signature.toString:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual org.eclipse.jdt.core.dom.AST.newSimpleName:(Ljava/lang/String;)Lorg/eclipse/jdt/core/dom/SimpleName;
            invokevirtual org.eclipse.jdt.core.dom.AST.newSimpleType:(Lorg/eclipse/jdt/core/dom/Name;)Lorg/eclipse/jdt/core/dom/SimpleType;
            areturn
        28: .line 797
      StackMap locals:
      StackMap stack:
            aload 2 /* ast */
            invokevirtual org.eclipse.jdt.core.dom.AST.newWildcardType:()Lorg/eclipse/jdt/core/dom/WildcardType;
            astore 10 /* wildcardType */
        start local 10 // org.eclipse.jdt.core.dom.WildcardType wildcardType
        29: .line 798
            aload 1 /* typeSig */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            istore 11 /* ch */
        start local 11 // char ch
        30: .line 799
            iload 11 /* ch */
            bipush 42
            if_icmpeq 35
        31: .line 800
            aload 0 /* this */
            aload 1 /* typeSig */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            aload 2 /* ast */
            aload 3 /* context */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addImportFromSignature:(Ljava/lang/String;Lorg/eclipse/jdt/core/dom/AST;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;)Lorg/eclipse/jdt/core/dom/Type;
            astore 12 /* bound */
        start local 12 // org.eclipse.jdt.core.dom.Type bound
        32: .line 801
            aload 10 /* wildcardType */
            aload 12 /* bound */
            iload 11 /* ch */
            bipush 43
            if_icmpne 33
            iconst_1
            goto 34
      StackMap locals: org.eclipse.jdt.core.dom.rewrite.ImportRewrite java.lang.String org.eclipse.jdt.core.dom.AST org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext int top top top top top org.eclipse.jdt.core.dom.WildcardType int org.eclipse.jdt.core.dom.Type
      StackMap stack: org.eclipse.jdt.core.dom.WildcardType org.eclipse.jdt.core.dom.Type
        33: iconst_0
      StackMap locals: org.eclipse.jdt.core.dom.rewrite.ImportRewrite java.lang.String org.eclipse.jdt.core.dom.AST org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext int top top top top top org.eclipse.jdt.core.dom.WildcardType int org.eclipse.jdt.core.dom.Type
      StackMap stack: org.eclipse.jdt.core.dom.WildcardType org.eclipse.jdt.core.dom.Type int
        34: invokevirtual org.eclipse.jdt.core.dom.WildcardType.setBound:(Lorg/eclipse/jdt/core/dom/Type;Z)V
        end local 12 // org.eclipse.jdt.core.dom.Type bound
        35: .line 803
      StackMap locals:
      StackMap stack:
            aload 10 /* wildcardType */
            areturn
        end local 11 // char ch
        end local 10 // org.eclipse.jdt.core.dom.WildcardType wildcardType
        36: .line 805
      StackMap locals: org.eclipse.jdt.core.dom.rewrite.ImportRewrite java.lang.String org.eclipse.jdt.core.dom.AST org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* typeSig */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            aload 2 /* ast */
            aload 3 /* context */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addImportFromSignature:(Ljava/lang/String;Lorg/eclipse/jdt/core/dom/AST;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;)Lorg/eclipse/jdt/core/dom/Type;
            areturn
        37: .line 807
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown type signature kind: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* typeSig */
            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
        end local 4 // int sigKind
        end local 3 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext context
        end local 2 // org.eclipse.jdt.core.dom.AST ast
        end local 1 // java.lang.String typeSig
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   38     0           this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            0   38     1        typeSig  Ljava/lang/String;
            0   38     2            ast  Lorg/eclipse/jdt/core/dom/AST;
            0   38     3        context  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;
            3   38     4        sigKind  I
            6    7     5    elementType  Lorg/eclipse/jdt/core/dom/Type;
            8   27     6     erasureSig  Ljava/lang/String;
            9   27     7    erasureName  Ljava/lang/String;
           12   27     8       baseType  Lorg/eclipse/jdt/core/dom/Type;
           13   27     9  typeArguments  [Ljava/lang/String;
           15   26    10           type  Lorg/eclipse/jdt/core/dom/ParameterizedType;
           16   26    11       argNodes  Ljava/util/List;
           17   25    12              i  I
           19   23    13           curr  Ljava/lang/String;
           29   36    10   wildcardType  Lorg/eclipse/jdt/core/dom/WildcardType;
           30   36    11             ch  C
           32   35    12          bound  Lorg/eclipse/jdt/core/dom/Type;
    MethodParameters:
         Name  Flags
      typeSig  
      ast      
      context  

  public java.lang.String addImport(org.eclipse.jdt.core.dom.ITypeBinding);
    descriptor: (Lorg/eclipse/jdt/core/dom/ITypeBinding;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
        start local 1 // org.eclipse.jdt.core.dom.ITypeBinding binding
         0: .line 831
            aload 0 /* this */
            aload 1 /* binding */
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.defaultContext:Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addImport:(Lorg/eclipse/jdt/core/dom/ITypeBinding;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;)Ljava/lang/String;
            areturn
        end local 1 // org.eclipse.jdt.core.dom.ITypeBinding binding
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            0    1     1  binding  Lorg/eclipse/jdt/core/dom/ITypeBinding;
    MethodParameters:
         Name  Flags
      binding  

  public java.lang.String addImport(org.eclipse.jdt.core.dom.ITypeBinding, org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext);
    descriptor: (Lorg/eclipse/jdt/core/dom/ITypeBinding;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=10, args_size=3
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
        start local 1 // org.eclipse.jdt.core.dom.ITypeBinding binding
        start local 2 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext context
         0: .line 854
            aload 1 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.isPrimitive:()Z
            ifne 1
            aload 1 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.isTypeVariable:()Z
            ifne 1
            aload 1 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.isRecovered:()Z
            ifeq 2
         1: .line 855
      StackMap locals:
      StackMap stack:
            aload 1 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getName:()Ljava/lang/String;
            areturn
         2: .line 858
      StackMap locals:
      StackMap stack:
            aload 1 /* binding */
            invokestatic org.eclipse.jdt.core.dom.rewrite.ImportRewrite.normalizeTypeBinding:(Lorg/eclipse/jdt/core/dom/ITypeBinding;)Lorg/eclipse/jdt/core/dom/ITypeBinding;
            astore 3 /* normalizedBinding */
        start local 3 // org.eclipse.jdt.core.dom.ITypeBinding normalizedBinding
         3: .line 859
            aload 3 /* normalizedBinding */
            ifnonnull 5
         4: .line 860
            ldc "invalid"
            areturn
         5: .line 862
      StackMap locals: org.eclipse.jdt.core.dom.ITypeBinding
      StackMap stack:
            aload 3 /* normalizedBinding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.isWildcardType:()Z
            ifeq 15
         6: .line 863
            new java.lang.StringBuffer
            dup
            ldc "?"
            invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
            astore 4 /* res */
        start local 4 // java.lang.StringBuffer res
         7: .line 864
            aload 3 /* normalizedBinding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getBound:()Lorg/eclipse/jdt/core/dom/ITypeBinding;
            astore 5 /* bound */
        start local 5 // org.eclipse.jdt.core.dom.ITypeBinding bound
         8: .line 865
            aload 5 /* bound */
            ifnull 14
            aload 5 /* bound */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.isWildcardType:()Z
            ifne 14
            aload 5 /* bound */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.isCapture:()Z
            ifne 14
         9: .line 866
            aload 3 /* normalizedBinding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.isUpperbound:()Z
            ifeq 12
        10: .line 867
            aload 4 /* res */
            ldc " extends "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        11: .line 868
            goto 13
        12: .line 869
      StackMap locals: java.lang.StringBuffer org.eclipse.jdt.core.dom.ITypeBinding
      StackMap stack:
            aload 4 /* res */
            ldc " super "
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        13: .line 871
      StackMap locals:
      StackMap stack:
            aload 4 /* res */
            aload 0 /* this */
            aload 5 /* bound */
            aload 2 /* context */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addImport:(Lorg/eclipse/jdt/core/dom/ITypeBinding;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        14: .line 873
      StackMap locals:
      StackMap stack:
            aload 4 /* res */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 5 // org.eclipse.jdt.core.dom.ITypeBinding bound
        end local 4 // java.lang.StringBuffer res
        15: .line 876
      StackMap locals:
      StackMap stack:
            aload 3 /* normalizedBinding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.isArray:()Z
            ifeq 23
        16: .line 877
            new java.lang.StringBuffer
            dup
            aload 0 /* this */
            aload 3 /* normalizedBinding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getElementType:()Lorg/eclipse/jdt/core/dom/ITypeBinding;
            aload 2 /* context */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addImport:(Lorg/eclipse/jdt/core/dom/ITypeBinding;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;)Ljava/lang/String;
            invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
            astore 4 /* res */
        start local 4 // java.lang.StringBuffer res
        17: .line 878
            aload 3 /* normalizedBinding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getDimensions:()I
            istore 5 /* i */
        start local 5 // int i
        18: goto 21
        19: .line 879
      StackMap locals: java.lang.StringBuffer int
      StackMap stack:
            aload 4 /* res */
            ldc "[]"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        20: .line 878
            iinc 5 /* i */ -1
      StackMap locals:
      StackMap stack:
        21: iload 5 /* i */
            ifgt 19
        end local 5 // int i
        22: .line 881
            aload 4 /* res */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 4 // java.lang.StringBuffer res
        23: .line 884
      StackMap locals:
      StackMap stack:
            aload 3 /* normalizedBinding */
            invokestatic org.eclipse.jdt.core.dom.rewrite.ImportRewrite.getRawQualifiedName:(Lorg/eclipse/jdt/core/dom/ITypeBinding;)Ljava/lang/String;
            astore 4 /* qualifiedName */
        start local 4 // java.lang.String qualifiedName
        24: .line 885
            aload 4 /* qualifiedName */
            invokevirtual java.lang.String.length:()I
            ifle 44
        25: .line 886
            aload 0 /* this */
            aload 4 /* qualifiedName */
            aload 2 /* context */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.internalAddImport:(Ljava/lang/String;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;)Ljava/lang/String;
            astore 5 /* str */
        start local 5 // java.lang.String str
        26: .line 888
            aload 3 /* normalizedBinding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getTypeArguments:()[Lorg/eclipse/jdt/core/dom/ITypeBinding;
            astore 6 /* typeArguments */
        start local 6 // org.eclipse.jdt.core.dom.ITypeBinding[] typeArguments
        27: .line 889
            aload 6 /* typeArguments */
            arraylength
            ifle 43
        28: .line 890
            new java.lang.StringBuffer
            dup
            aload 5 /* str */
            invokespecial java.lang.StringBuffer.<init>:(Ljava/lang/String;)V
            astore 7 /* res */
        start local 7 // java.lang.StringBuffer res
        29: .line 891
            aload 7 /* res */
            bipush 60
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        30: .line 892
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        31: goto 40
        32: .line 893
      StackMap locals: org.eclipse.jdt.core.dom.rewrite.ImportRewrite org.eclipse.jdt.core.dom.ITypeBinding org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext org.eclipse.jdt.core.dom.ITypeBinding java.lang.String java.lang.String org.eclipse.jdt.core.dom.ITypeBinding[] java.lang.StringBuffer int
      StackMap stack:
            iload 8 /* i */
            ifle 34
        33: .line 894
            aload 7 /* res */
            bipush 44
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        34: .line 896
      StackMap locals:
      StackMap stack:
            aload 6 /* typeArguments */
            iload 8 /* i */
            aaload
            astore 9 /* curr */
        start local 9 // org.eclipse.jdt.core.dom.ITypeBinding curr
        35: .line 897
            aload 0 /* this */
            aload 9 /* curr */
            iconst_0
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.containsNestedCapture:(Lorg/eclipse/jdt/core/dom/ITypeBinding;Z)Z
            ifeq 38
        36: .line 898
            aload 7 /* res */
            bipush 63
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        37: .line 899
            goto 39
        38: .line 900
      StackMap locals: org.eclipse.jdt.core.dom.ITypeBinding
      StackMap stack:
            aload 7 /* res */
            aload 0 /* this */
            aload 9 /* curr */
            aload 2 /* context */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addImport:(Lorg/eclipse/jdt/core/dom/ITypeBinding;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;)Ljava/lang/String;
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        end local 9 // org.eclipse.jdt.core.dom.ITypeBinding curr
        39: .line 892
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        40: iload 8 /* i */
            aload 6 /* typeArguments */
            arraylength
            if_icmplt 32
        end local 8 // int i
        41: .line 903
            aload 7 /* res */
            bipush 62
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        42: .line 904
            aload 7 /* res */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            areturn
        end local 7 // java.lang.StringBuffer res
        43: .line 906
      StackMap locals:
      StackMap stack:
            aload 5 /* str */
            areturn
        end local 6 // org.eclipse.jdt.core.dom.ITypeBinding[] typeArguments
        end local 5 // java.lang.String str
        44: .line 908
      StackMap locals:
      StackMap stack:
            aload 3 /* normalizedBinding */
            invokestatic org.eclipse.jdt.core.dom.rewrite.ImportRewrite.getRawName:(Lorg/eclipse/jdt/core/dom/ITypeBinding;)Ljava/lang/String;
            areturn
        end local 4 // java.lang.String qualifiedName
        end local 3 // org.eclipse.jdt.core.dom.ITypeBinding normalizedBinding
        end local 2 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext context
        end local 1 // org.eclipse.jdt.core.dom.ITypeBinding binding
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   45     0               this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            0   45     1            binding  Lorg/eclipse/jdt/core/dom/ITypeBinding;
            0   45     2            context  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;
            3   45     3  normalizedBinding  Lorg/eclipse/jdt/core/dom/ITypeBinding;
            7   15     4                res  Ljava/lang/StringBuffer;
            8   15     5              bound  Lorg/eclipse/jdt/core/dom/ITypeBinding;
           17   23     4                res  Ljava/lang/StringBuffer;
           18   22     5                  i  I
           24   45     4      qualifiedName  Ljava/lang/String;
           26   44     5                str  Ljava/lang/String;
           27   44     6      typeArguments  [Lorg/eclipse/jdt/core/dom/ITypeBinding;
           29   43     7                res  Ljava/lang/StringBuffer;
           31   41     8                  i  I
           35   39     9               curr  Lorg/eclipse/jdt/core/dom/ITypeBinding;
    MethodParameters:
         Name  Flags
      binding  
      context  

  private boolean containsNestedCapture(org.eclipse.jdt.core.dom.ITypeBinding, boolean);
    descriptor: (Lorg/eclipse/jdt/core/dom/ITypeBinding;Z)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
        start local 1 // org.eclipse.jdt.core.dom.ITypeBinding binding
        start local 2 // boolean isNested
         0: .line 912
            aload 1 /* binding */
            ifnull 1
            aload 1 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.isPrimitive:()Z
            ifne 1
            aload 1 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.isTypeVariable:()Z
            ifeq 2
         1: .line 913
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 915
      StackMap locals:
      StackMap stack:
            aload 1 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.isCapture:()Z
            ifeq 6
         3: .line 916
            iload 2 /* isNested */
            ifeq 5
         4: .line 917
            iconst_1
            ireturn
         5: .line 919
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getWildcard:()Lorg/eclipse/jdt/core/dom/ITypeBinding;
            iconst_1
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.containsNestedCapture:(Lorg/eclipse/jdt/core/dom/ITypeBinding;Z)Z
            ireturn
         6: .line 921
      StackMap locals:
      StackMap stack:
            aload 1 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.isWildcardType:()Z
            ifeq 8
         7: .line 922
            aload 0 /* this */
            aload 1 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getBound:()Lorg/eclipse/jdt/core/dom/ITypeBinding;
            iconst_1
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.containsNestedCapture:(Lorg/eclipse/jdt/core/dom/ITypeBinding;Z)Z
            ireturn
         8: .line 924
      StackMap locals:
      StackMap stack:
            aload 1 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.isArray:()Z
            ifeq 10
         9: .line 925
            aload 0 /* this */
            aload 1 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getElementType:()Lorg/eclipse/jdt/core/dom/ITypeBinding;
            iconst_1
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.containsNestedCapture:(Lorg/eclipse/jdt/core/dom/ITypeBinding;Z)Z
            ireturn
        10: .line 927
      StackMap locals:
      StackMap stack:
            aload 1 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getTypeArguments:()[Lorg/eclipse/jdt/core/dom/ITypeBinding;
            astore 3 /* typeArguments */
        start local 3 // org.eclipse.jdt.core.dom.ITypeBinding[] typeArguments
        11: .line 928
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        12: goto 16
        13: .line 929
      StackMap locals: org.eclipse.jdt.core.dom.ITypeBinding[] int
      StackMap stack:
            aload 0 /* this */
            aload 3 /* typeArguments */
            iload 4 /* i */
            aaload
            iconst_1
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.containsNestedCapture:(Lorg/eclipse/jdt/core/dom/ITypeBinding;Z)Z
            ifeq 15
        14: .line 930
            iconst_1
            ireturn
        15: .line 928
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 4 /* i */
            aload 3 /* typeArguments */
            arraylength
            if_icmplt 13
        end local 4 // int i
        17: .line 933
            iconst_0
            ireturn
        end local 3 // org.eclipse.jdt.core.dom.ITypeBinding[] typeArguments
        end local 2 // boolean isNested
        end local 1 // org.eclipse.jdt.core.dom.ITypeBinding binding
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   18     0           this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            0   18     1        binding  Lorg/eclipse/jdt/core/dom/ITypeBinding;
            0   18     2       isNested  Z
           11   18     3  typeArguments  [Lorg/eclipse/jdt/core/dom/ITypeBinding;
           12   17     4              i  I
    MethodParameters:
          Name  Flags
      binding   
      isNested  

  private boolean containsNestedCapture(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
        start local 1 // java.lang.String signature
         0: .line 937
            aload 1 /* signature */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmple 1
            aload 1 /* signature */
            bipush 33
            iconst_1
            invokevirtual java.lang.String.indexOf:(II)I
            iconst_m1
            if_icmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.lang.String signature
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            0    2     1  signature  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      signature  

  private static org.eclipse.jdt.core.dom.ITypeBinding normalizeTypeBinding(org.eclipse.jdt.core.dom.ITypeBinding);
    descriptor: (Lorg/eclipse/jdt/core/dom/ITypeBinding;)Lorg/eclipse/jdt/core/dom/ITypeBinding;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.ITypeBinding binding
         0: .line 941
            aload 0 /* binding */
            ifnull 9
            aload 0 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.isNullType:()Z
            ifne 9
            ldc "void"
            aload 0 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
         1: .line 942
            aload 0 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.isAnonymous:()Z
            ifeq 6
         2: .line 943
            aload 0 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getInterfaces:()[Lorg/eclipse/jdt/core/dom/ITypeBinding;
            astore 1 /* baseBindings */
        start local 1 // org.eclipse.jdt.core.dom.ITypeBinding[] baseBindings
         3: .line 944
            aload 1 /* baseBindings */
            arraylength
            ifle 5
         4: .line 945
            aload 1 /* baseBindings */
            iconst_0
            aaload
            areturn
         5: .line 947
      StackMap locals: org.eclipse.jdt.core.dom.ITypeBinding[]
      StackMap stack:
            aload 0 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getSuperclass:()Lorg/eclipse/jdt/core/dom/ITypeBinding;
            areturn
        end local 1 // org.eclipse.jdt.core.dom.ITypeBinding[] baseBindings
         6: .line 949
      StackMap locals:
      StackMap stack:
            aload 0 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.isCapture:()Z
            ifeq 8
         7: .line 950
            aload 0 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getWildcard:()Lorg/eclipse/jdt/core/dom/ITypeBinding;
            areturn
         8: .line 952
      StackMap locals:
      StackMap stack:
            aload 0 /* binding */
            areturn
         9: .line 954
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // org.eclipse.jdt.core.dom.ITypeBinding binding
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0       binding  Lorg/eclipse/jdt/core/dom/ITypeBinding;
            3    6     1  baseBindings  [Lorg/eclipse/jdt/core/dom/ITypeBinding;
    MethodParameters:
         Name  Flags
      binding  

  public org.eclipse.jdt.core.dom.Type addImport(org.eclipse.jdt.core.dom.ITypeBinding, org.eclipse.jdt.core.dom.AST);
    descriptor: (Lorg/eclipse/jdt/core/dom/ITypeBinding;Lorg/eclipse/jdt/core/dom/AST;)Lorg/eclipse/jdt/core/dom/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
        start local 1 // org.eclipse.jdt.core.dom.ITypeBinding binding
        start local 2 // org.eclipse.jdt.core.dom.AST ast
         0: .line 977
            aload 0 /* this */
            aload 1 /* binding */
            aload 2 /* ast */
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.defaultContext:Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;
            getstatic org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation.UNKNOWN:Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addImport:(Lorg/eclipse/jdt/core/dom/ITypeBinding;Lorg/eclipse/jdt/core/dom/AST;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;)Lorg/eclipse/jdt/core/dom/Type;
            areturn
        end local 2 // org.eclipse.jdt.core.dom.AST ast
        end local 1 // org.eclipse.jdt.core.dom.ITypeBinding binding
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            0    1     1  binding  Lorg/eclipse/jdt/core/dom/ITypeBinding;
            0    1     2      ast  Lorg/eclipse/jdt/core/dom/AST;
    MethodParameters:
         Name  Flags
      binding  
      ast      

  public org.eclipse.jdt.core.dom.Type addImport(org.eclipse.jdt.core.dom.ITypeBinding, org.eclipse.jdt.core.dom.AST, org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext);
    descriptor: (Lorg/eclipse/jdt/core/dom/ITypeBinding;Lorg/eclipse/jdt/core/dom/AST;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;)Lorg/eclipse/jdt/core/dom/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
        start local 1 // org.eclipse.jdt.core.dom.ITypeBinding binding
        start local 2 // org.eclipse.jdt.core.dom.AST ast
        start local 3 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext context
         0: .line 1002
            aload 0 /* this */
            aload 1 /* binding */
            aload 2 /* ast */
            aload 3 /* context */
            getstatic org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation.UNKNOWN:Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addImport:(Lorg/eclipse/jdt/core/dom/ITypeBinding;Lorg/eclipse/jdt/core/dom/AST;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;)Lorg/eclipse/jdt/core/dom/Type;
            areturn
        end local 3 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext context
        end local 2 // org.eclipse.jdt.core.dom.AST ast
        end local 1 // org.eclipse.jdt.core.dom.ITypeBinding binding
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            0    1     1  binding  Lorg/eclipse/jdt/core/dom/ITypeBinding;
            0    1     2      ast  Lorg/eclipse/jdt/core/dom/AST;
            0    1     3  context  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;
    MethodParameters:
         Name  Flags
      binding  
      ast      
      context  

  public org.eclipse.jdt.core.dom.Type addImport(org.eclipse.jdt.core.dom.ITypeBinding, org.eclipse.jdt.core.dom.AST, org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext, org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation);
    descriptor: (Lorg/eclipse/jdt/core/dom/ITypeBinding;Lorg/eclipse/jdt/core/dom/AST;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;)Lorg/eclipse/jdt/core/dom/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=7, args_size=5
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
        start local 1 // org.eclipse.jdt.core.dom.ITypeBinding binding
        start local 2 // org.eclipse.jdt.core.dom.AST ast
        start local 3 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext context
        start local 4 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation location
         0: .line 1029
            aload 0 /* this */
            aload 1 /* binding */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.checkAnnotationAndGenerics:(Lorg/eclipse/jdt/core/dom/ITypeBinding;)Lorg/eclipse/jdt/core/dom/ITypeBinding;
            astore 5 /* bindingPoint */
        start local 5 // org.eclipse.jdt.core.dom.ITypeBinding bindingPoint
         1: .line 1030
            aload 0 /* this */
            aload 5 /* bindingPoint */
            ifnonnull 2
            aload 1 /* binding */
            goto 3
      StackMap locals: org.eclipse.jdt.core.dom.rewrite.ImportRewrite org.eclipse.jdt.core.dom.ITypeBinding org.eclipse.jdt.core.dom.AST org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation org.eclipse.jdt.core.dom.ITypeBinding
      StackMap stack: org.eclipse.jdt.core.dom.rewrite.ImportRewrite
         2: aload 5 /* bindingPoint */
      StackMap locals: org.eclipse.jdt.core.dom.rewrite.ImportRewrite org.eclipse.jdt.core.dom.ITypeBinding org.eclipse.jdt.core.dom.AST org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation org.eclipse.jdt.core.dom.ITypeBinding
      StackMap stack: org.eclipse.jdt.core.dom.rewrite.ImportRewrite org.eclipse.jdt.core.dom.ITypeBinding
         3: aload 2 /* ast */
            aload 3 /* context */
            aconst_null
            iconst_1
            aload 5 /* bindingPoint */
            ifnull 4
            aload 5 /* bindingPoint */
            aload 1 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.equals:(Ljava/lang/Object;)Z
            ifne 4
            getstatic org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation.OTHER:Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;
            goto 5
      StackMap locals: org.eclipse.jdt.core.dom.rewrite.ImportRewrite org.eclipse.jdt.core.dom.ITypeBinding org.eclipse.jdt.core.dom.AST org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation org.eclipse.jdt.core.dom.ITypeBinding
      StackMap stack: org.eclipse.jdt.core.dom.rewrite.ImportRewrite org.eclipse.jdt.core.dom.ITypeBinding org.eclipse.jdt.core.dom.AST org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext null int
         4: aload 4 /* location */
      StackMap locals: org.eclipse.jdt.core.dom.rewrite.ImportRewrite org.eclipse.jdt.core.dom.ITypeBinding org.eclipse.jdt.core.dom.AST org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation org.eclipse.jdt.core.dom.ITypeBinding
      StackMap stack: org.eclipse.jdt.core.dom.rewrite.ImportRewrite org.eclipse.jdt.core.dom.ITypeBinding org.eclipse.jdt.core.dom.AST org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext null int org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation
         5: invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.internalAddImport:(Lorg/eclipse/jdt/core/dom/ITypeBinding;Lorg/eclipse/jdt/core/dom/AST;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;Lorg/eclipse/jdt/core/dom/Type;ZLorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;)Lorg/eclipse/jdt/core/dom/Type;
            astore 6 /* type */
        start local 6 // org.eclipse.jdt.core.dom.Type type
         6: .line 1031
            aload 5 /* bindingPoint */
            ifnull 8
            aload 5 /* bindingPoint */
            aload 1 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.equals:(Ljava/lang/Object;)Z
            ifne 8
         7: .line 1032
            aload 0 /* this */
            aload 1 /* binding */
            aload 5 /* bindingPoint */
            aload 2 /* ast */
            aload 3 /* context */
            aload 6 /* type */
            aload 4 /* location */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.buildType:(Lorg/eclipse/jdt/core/dom/ITypeBinding;Lorg/eclipse/jdt/core/dom/ITypeBinding;Lorg/eclipse/jdt/core/dom/AST;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;Lorg/eclipse/jdt/core/dom/Type;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;)Lorg/eclipse/jdt/core/dom/Type;
            astore 6 /* type */
         8: .line 1034
      StackMap locals: org.eclipse.jdt.core.dom.Type
      StackMap stack:
            aload 6 /* type */
            areturn
        end local 6 // org.eclipse.jdt.core.dom.Type type
        end local 5 // org.eclipse.jdt.core.dom.ITypeBinding bindingPoint
        end local 4 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation location
        end local 3 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext context
        end local 2 // org.eclipse.jdt.core.dom.AST ast
        end local 1 // org.eclipse.jdt.core.dom.ITypeBinding binding
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            0    9     1       binding  Lorg/eclipse/jdt/core/dom/ITypeBinding;
            0    9     2           ast  Lorg/eclipse/jdt/core/dom/AST;
            0    9     3       context  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;
            0    9     4      location  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;
            1    9     5  bindingPoint  Lorg/eclipse/jdt/core/dom/ITypeBinding;
            6    9     6          type  Lorg/eclipse/jdt/core/dom/Type;
    MethodParameters:
          Name  Flags
      binding   
      ast       
      context   
      location  

  public java.lang.String addImport(java.lang.String, org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext);
    descriptor: (Ljava/lang/String;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
        start local 1 // java.lang.String qualifiedTypeName
        start local 2 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext context
         0: .line 1054
            aload 1 /* qualifiedTypeName */
            bipush 60
            invokevirtual java.lang.String.indexOf:(I)I
            istore 3 /* angleBracketOffset */
        start local 3 // int angleBracketOffset
         1: .line 1055
            iload 3 /* angleBracketOffset */
            iconst_m1
            if_icmpeq 3
         2: .line 1056
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            aload 1 /* qualifiedTypeName */
            iconst_0
            iload 3 /* angleBracketOffset */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            aload 2 /* context */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.internalAddImport:(Ljava/lang/String;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* qualifiedTypeName */
            iload 3 /* angleBracketOffset */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         3: .line 1058
      StackMap locals: int
      StackMap stack:
            aload 1 /* qualifiedTypeName */
            bipush 91
            invokevirtual java.lang.String.indexOf:(I)I
            istore 4 /* bracketOffset */
        start local 4 // int bracketOffset
         4: .line 1059
            iload 4 /* bracketOffset */
            iconst_m1
            if_icmpeq 6
         5: .line 1060
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            aload 1 /* qualifiedTypeName */
            iconst_0
            iload 4 /* bracketOffset */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            aload 2 /* context */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.internalAddImport:(Ljava/lang/String;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* qualifiedTypeName */
            iload 4 /* bracketOffset */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         6: .line 1062
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* qualifiedTypeName */
            aload 2 /* context */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.internalAddImport:(Ljava/lang/String;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;)Ljava/lang/String;
            areturn
        end local 4 // int bracketOffset
        end local 3 // int angleBracketOffset
        end local 2 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext context
        end local 1 // java.lang.String qualifiedTypeName
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    7     0                this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            0    7     1   qualifiedTypeName  Ljava/lang/String;
            0    7     2             context  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;
            1    7     3  angleBracketOffset  I
            4    7     4       bracketOffset  I
    MethodParameters:
                   Name  Flags
      qualifiedTypeName  
      context            

  public java.lang.String addImport(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
        start local 1 // java.lang.String qualifiedTypeName
         0: .line 1080
            aload 0 /* this */
            aload 1 /* qualifiedTypeName */
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.defaultContext:Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addImport:(Ljava/lang/String;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String qualifiedTypeName
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            0    1     1  qualifiedTypeName  Ljava/lang/String;
    MethodParameters:
                   Name  Flags
      qualifiedTypeName  

  public java.lang.String addStaticImport(org.eclipse.jdt.core.dom.IBinding);
    descriptor: (Lorg/eclipse/jdt/core/dom/IBinding;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
        start local 1 // org.eclipse.jdt.core.dom.IBinding binding
         0: .line 1100
            aload 0 /* this */
            aload 1 /* binding */
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.defaultContext:Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addStaticImport:(Lorg/eclipse/jdt/core/dom/IBinding;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;)Ljava/lang/String;
            areturn
        end local 1 // org.eclipse.jdt.core.dom.IBinding binding
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            0    1     1  binding  Lorg/eclipse/jdt/core/dom/IBinding;
    MethodParameters:
         Name  Flags
      binding  

  public java.lang.String addStaticImport(org.eclipse.jdt.core.dom.IBinding, org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext);
    descriptor: (Lorg/eclipse/jdt/core/dom/IBinding;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
        start local 1 // org.eclipse.jdt.core.dom.IBinding binding
        start local 2 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext context
         0: .line 1122
            aload 1 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.IBinding.getModifiers:()I
            invokestatic org.eclipse.jdt.core.dom.Modifier.isStatic:(I)Z
            ifeq 9
         1: .line 1123
            aload 1 /* binding */
            instanceof org.eclipse.jdt.core.dom.IVariableBinding
            ifeq 6
         2: .line 1124
            aload 1 /* binding */
            checkcast org.eclipse.jdt.core.dom.IVariableBinding
            astore 3 /* variableBinding */
        start local 3 // org.eclipse.jdt.core.dom.IVariableBinding variableBinding
         3: .line 1125
            aload 3 /* variableBinding */
            invokeinterface org.eclipse.jdt.core.dom.IVariableBinding.isField:()Z
            ifeq 9
         4: .line 1126
            aload 3 /* variableBinding */
            invokeinterface org.eclipse.jdt.core.dom.IVariableBinding.getDeclaringClass:()Lorg/eclipse/jdt/core/dom/ITypeBinding;
            astore 4 /* declaringType */
        start local 4 // org.eclipse.jdt.core.dom.ITypeBinding declaringType
         5: .line 1127
            aload 0 /* this */
            aload 4 /* declaringType */
            invokestatic org.eclipse.jdt.core.dom.rewrite.ImportRewrite.getRawQualifiedName:(Lorg/eclipse/jdt/core/dom/ITypeBinding;)Ljava/lang/String;
            aload 1 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.IBinding.getName:()Ljava/lang/String;
            iconst_1
            aload 2 /* context */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addStaticImport:(Ljava/lang/String;Ljava/lang/String;ZLorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;)Ljava/lang/String;
            areturn
        end local 4 // org.eclipse.jdt.core.dom.ITypeBinding declaringType
        end local 3 // org.eclipse.jdt.core.dom.IVariableBinding variableBinding
         6: .line 1129
      StackMap locals:
      StackMap stack:
            aload 1 /* binding */
            instanceof org.eclipse.jdt.core.dom.IMethodBinding
            ifeq 9
         7: .line 1130
            aload 1 /* binding */
            checkcast org.eclipse.jdt.core.dom.IMethodBinding
            invokeinterface org.eclipse.jdt.core.dom.IMethodBinding.getDeclaringClass:()Lorg/eclipse/jdt/core/dom/ITypeBinding;
            astore 3 /* declaringType */
        start local 3 // org.eclipse.jdt.core.dom.ITypeBinding declaringType
         8: .line 1131
            aload 0 /* this */
            aload 3 /* declaringType */
            invokestatic org.eclipse.jdt.core.dom.rewrite.ImportRewrite.getRawQualifiedName:(Lorg/eclipse/jdt/core/dom/ITypeBinding;)Ljava/lang/String;
            aload 1 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.IBinding.getName:()Ljava/lang/String;
            iconst_0
            aload 2 /* context */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addStaticImport:(Ljava/lang/String;Ljava/lang/String;ZLorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;)Ljava/lang/String;
            areturn
        end local 3 // org.eclipse.jdt.core.dom.ITypeBinding declaringType
         9: .line 1134
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Binding must be a static field or method."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext context
        end local 1 // org.eclipse.jdt.core.dom.IBinding binding
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   10     0             this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            0   10     1          binding  Lorg/eclipse/jdt/core/dom/IBinding;
            0   10     2          context  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;
            3    6     3  variableBinding  Lorg/eclipse/jdt/core/dom/IVariableBinding;
            5    6     4    declaringType  Lorg/eclipse/jdt/core/dom/ITypeBinding;
            8    9     3    declaringType  Lorg/eclipse/jdt/core/dom/ITypeBinding;
    MethodParameters:
         Name  Flags
      binding  
      context  

  public java.lang.String addStaticImport(java.lang.String, java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
        start local 1 // java.lang.String declaringTypeName
        start local 2 // java.lang.String simpleName
        start local 3 // boolean isField
         0: .line 1155
            aload 0 /* this */
            aload 1 /* declaringTypeName */
            aload 2 /* simpleName */
            iload 3 /* isField */
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.defaultContext:Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addStaticImport:(Ljava/lang/String;Ljava/lang/String;ZLorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;)Ljava/lang/String;
            areturn
        end local 3 // boolean isField
        end local 2 // java.lang.String simpleName
        end local 1 // java.lang.String declaringTypeName
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            0    1     1  declaringTypeName  Ljava/lang/String;
            0    1     2         simpleName  Ljava/lang/String;
            0    1     3            isField  Z
    MethodParameters:
                   Name  Flags
      declaringTypeName  
      simpleName         
      isField            

  public java.lang.String addStaticImport(java.lang.String, java.lang.String, boolean, org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext);
    descriptor: (Ljava/lang/String;Ljava/lang/String;ZLorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=5
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
        start local 1 // java.lang.String declaringTypeName
        start local 2 // java.lang.String simpleName
        start local 3 // boolean isField
        start local 4 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext context
         0: .line 1178
            new java.lang.StringBuilder
            dup
            aload 1 /* declaringTypeName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 2 /* simpleName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* key */
        start local 5 // java.lang.String key
         1: .line 1179
            aload 1 /* declaringTypeName */
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpne 3
         2: .line 1180
            aload 5 /* key */
            areturn
         3: .line 1182
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* context */
            ifnonnull 5
         4: .line 1183
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.defaultContext:Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;
            astore 4 /* context */
         5: .line 1185
      StackMap locals:
      StackMap stack:
            iload 3 /* isField */
            ifeq 6
            iconst_2
            goto 7
      StackMap locals:
      StackMap stack:
         6: iconst_3
      StackMap locals:
      StackMap stack: int
         7: istore 6 /* kind */
        start local 6 // int kind
         8: .line 1186
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.importsKindMap:Ljava/util/Map;
            aload 5 /* key */
            iload 6 /* kind */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 1187
            aload 4 /* context */
            aload 1 /* declaringTypeName */
            aload 2 /* simpleName */
            iload 6 /* kind */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext.findInContext:(Ljava/lang/String;Ljava/lang/String;I)I
            istore 7 /* res */
        start local 7 // int res
        10: .line 1188
            iload 7 /* res */
            iconst_3
            if_icmpne 12
        11: .line 1189
            aload 5 /* key */
            areturn
        12: .line 1191
      StackMap locals: int int
      StackMap stack:
            iload 7 /* res */
            iconst_2
            if_icmpne 14
        13: .line 1192
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            bipush 115
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addEntry:(Ljava/lang/String;)V
        14: .line 1194
      StackMap locals:
      StackMap stack:
            iload 7 /* res */
            iconst_4
            if_icmpne 17
        15: .line 1195
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            bipush 115
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addEntry:(Ljava/lang/String;)V
        16: .line 1196
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.staticExplicitSimpleNames:Ljava/util/Set;
            aload 2 /* simpleName */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        17: .line 1198
      StackMap locals:
      StackMap stack:
            aload 2 /* simpleName */
            areturn
        end local 7 // int res
        end local 6 // int kind
        end local 5 // java.lang.String key
        end local 4 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext context
        end local 3 // boolean isField
        end local 2 // java.lang.String simpleName
        end local 1 // java.lang.String declaringTypeName
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   18     0               this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            0   18     1  declaringTypeName  Ljava/lang/String;
            0   18     2         simpleName  Ljava/lang/String;
            0   18     3            isField  Z
            0   18     4            context  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;
            1   18     5                key  Ljava/lang/String;
            8   18     6               kind  I
           10   18     7                res  I
    MethodParameters:
                   Name  Flags
      declaringTypeName  
      simpleName         
      isField            
      context            

  private java.lang.String internalAddImport(java.lang.String, org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext);
    descriptor: (Ljava/lang/String;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
        start local 1 // java.lang.String fullTypeName
        start local 2 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext context
         0: .line 1202
            aload 1 /* fullTypeName */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 3 /* idx */
        start local 3 // int idx
         1: .line 1204
            iload 3 /* idx */
            iconst_m1
            if_icmpeq 5
         2: .line 1205
            aload 1 /* fullTypeName */
            iconst_0
            iload 3 /* idx */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* typeContainerName */
        start local 4 // java.lang.String typeContainerName
         3: .line 1206
            aload 1 /* fullTypeName */
            iload 3 /* idx */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 5 /* typeName */
        start local 5 // java.lang.String typeName
         4: .line 1207
            goto 7
        end local 5 // java.lang.String typeName
        end local 4 // java.lang.String typeContainerName
         5: .line 1208
      StackMap locals: int
      StackMap stack:
            ldc ""
            astore 4 /* typeContainerName */
        start local 4 // java.lang.String typeContainerName
         6: .line 1209
            aload 1 /* fullTypeName */
            astore 5 /* typeName */
        start local 5 // java.lang.String typeName
         7: .line 1212
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 4 /* typeContainerName */
            invokevirtual java.lang.String.length:()I
            ifne 9
            aload 5 /* typeName */
            invokestatic org.eclipse.jdt.core.dom.PrimitiveType.toCode:(Ljava/lang/String;)Lorg/eclipse/jdt/core/dom/PrimitiveType$Code;
            ifnull 9
         8: .line 1213
            aload 1 /* fullTypeName */
            areturn
         9: .line 1216
      StackMap locals:
      StackMap stack:
            aload 2 /* context */
            ifnonnull 11
        10: .line 1217
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.defaultContext:Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;
            astore 2 /* context */
        11: .line 1219
      StackMap locals:
      StackMap stack:
            aload 2 /* context */
            aload 4 /* typeContainerName */
            aload 5 /* typeName */
            iconst_1
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext.findInContext:(Ljava/lang/String;Ljava/lang/String;I)I
            istore 6 /* res */
        start local 6 // int res
        12: .line 1220
            iload 6 /* res */
            iconst_3
            if_icmpne 14
        13: .line 1221
            aload 1 /* fullTypeName */
            areturn
        14: .line 1223
      StackMap locals: int
      StackMap stack:
            iload 6 /* res */
            iconst_2
            if_icmpne 16
        15: .line 1224
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            bipush 110
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* fullTypeName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addEntry:(Ljava/lang/String;)V
        16: .line 1226
      StackMap locals:
      StackMap stack:
            iload 6 /* res */
            iconst_4
            if_icmpne 19
        17: .line 1227
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            bipush 110
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* fullTypeName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addEntry:(Ljava/lang/String;)V
        18: .line 1228
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.typeExplicitSimpleNames:Ljava/util/Set;
            aload 5 /* typeName */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        19: .line 1230
      StackMap locals:
      StackMap stack:
            aload 5 /* typeName */
            areturn
        end local 6 // int res
        end local 5 // java.lang.String typeName
        end local 4 // java.lang.String typeContainerName
        end local 3 // int idx
        end local 2 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext context
        end local 1 // java.lang.String fullTypeName
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   20     0               this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            0   20     1       fullTypeName  Ljava/lang/String;
            0   20     2            context  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;
            1   20     3                idx  I
            3    5     4  typeContainerName  Ljava/lang/String;
            6   20     4  typeContainerName  Ljava/lang/String;
            4    5     5           typeName  Ljava/lang/String;
            7   20     5           typeName  Ljava/lang/String;
           12   20     6                res  I
    MethodParameters:
              Name  Flags
      fullTypeName  
      context       

  private void addEntry(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
        start local 1 // java.lang.String entry
         0: .line 1234
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.existingImports:Ljava/util/List;
            aload 1 /* entry */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 1236
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.removedImports:Ljava/util/List;
            aload 1 /* entry */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 1237
            return
         3: .line 1240
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addedImports:Ljava/util/List;
            aload 1 /* entry */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 1241
            return
        end local 1 // java.lang.String entry
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            0    5     1  entry  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      entry  

  private boolean removeEntry(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
        start local 1 // java.lang.String entry
         0: .line 1244
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.existingImports:Ljava/util/List;
            aload 1 /* entry */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            ifeq 5
         1: .line 1245
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addedImports:Ljava/util/List;
            aload 1 /* entry */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 1246
            iconst_1
            ireturn
         3: .line 1249
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.removedImports:Ljava/util/List;
            aload 1 /* entry */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         4: .line 1251
            iconst_1
            ireturn
         5: .line 1253
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.String entry
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            0    6     1  entry  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      entry  

  public boolean removeImport(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
        start local 1 // java.lang.String qualifiedName
         0: .line 1267
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            bipush 110
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* qualifiedName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.removeEntry:(Ljava/lang/String;)Z
            ireturn
        end local 1 // java.lang.String qualifiedName
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            0    1     1  qualifiedName  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      qualifiedName  

  public boolean removeStaticImport(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
        start local 1 // java.lang.String qualifiedName
         0: .line 1281
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            bipush 115
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* qualifiedName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.removeEntry:(Ljava/lang/String;)Z
            ireturn
        end local 1 // java.lang.String qualifiedName
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            0    1     1  qualifiedName  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      qualifiedName  

  private static java.lang.String getRawName(org.eclipse.jdt.core.dom.ITypeBinding);
    descriptor: (Lorg/eclipse/jdt/core/dom/ITypeBinding;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.ITypeBinding normalizedBinding
         0: .line 1285
            aload 0 /* normalizedBinding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getTypeDeclaration:()Lorg/eclipse/jdt/core/dom/ITypeBinding;
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getName:()Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jdt.core.dom.ITypeBinding normalizedBinding
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0  normalizedBinding  Lorg/eclipse/jdt/core/dom/ITypeBinding;
    MethodParameters:
                   Name  Flags
      normalizedBinding  

  private static java.lang.String getRawQualifiedName(org.eclipse.jdt.core.dom.ITypeBinding);
    descriptor: (Lorg/eclipse/jdt/core/dom/ITypeBinding;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.ITypeBinding normalizedBinding
         0: .line 1289
            aload 0 /* normalizedBinding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getTypeDeclaration:()Lorg/eclipse/jdt/core/dom/ITypeBinding;
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getQualifiedName:()Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jdt.core.dom.ITypeBinding normalizedBinding
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0  normalizedBinding  Lorg/eclipse/jdt/core/dom/ITypeBinding;
    MethodParameters:
                   Name  Flags
      normalizedBinding  

  public final org.eclipse.text.edits.TextEdit rewriteImports(org.eclipse.core.runtime.IProgressMonitor);
    descriptor: (Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/text/edits/TextEdit;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=5, locals=10, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
        start local 1 // org.eclipse.core.runtime.IProgressMonitor monitor
         0: .line 1308
            aload 1 /* monitor */
         1: .line 1309
            getstatic org.eclipse.jdt.internal.core.util.Messages.importRewrite_processDescription:Ljava/lang/String;
            invokestatic org.eclipse.jdt.internal.core.util.Messages.bind:(Ljava/lang/String;)Ljava/lang/String;
            iconst_2
         2: .line 1308
            invokestatic org.eclipse.core.runtime.SubMonitor.convert:(Lorg/eclipse/core/runtime/IProgressMonitor;Ljava/lang/String;I)Lorg/eclipse/core/runtime/SubMonitor;
            astore 2 /* subMonitor */
        start local 2 // org.eclipse.core.runtime.SubMonitor subMonitor
         3: .line 1310
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.hasRecordedChanges:()Z
            ifne 7
         4: .line 1311
            aload 0 /* this */
            getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_STRINGS:[Ljava/lang/String;
            putfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.createdImports:[Ljava/lang/String;
         5: .line 1312
            aload 0 /* this */
            getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_STRINGS:[Ljava/lang/String;
            putfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.createdStaticImports:[Ljava/lang/String;
         6: .line 1313
            new org.eclipse.text.edits.MultiTextEdit
            dup
            invokespecial org.eclipse.text.edits.MultiTextEdit.<init>:()V
            areturn
         7: .line 1316
      StackMap locals: org.eclipse.core.runtime.SubMonitor
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.astRoot:Lorg/eclipse/jdt/core/dom/CompilationUnit;
            astore 3 /* usedAstRoot */
        start local 3 // org.eclipse.jdt.core.dom.CompilationUnit usedAstRoot
         8: .line 1317
            aload 3 /* usedAstRoot */
            ifnonnull 14
         9: .line 1318
            bipush 13
            invokestatic org.eclipse.jdt.core.dom.ASTParser.newParser:(I)Lorg/eclipse/jdt/core/dom/ASTParser;
            astore 4 /* parser */
        start local 4 // org.eclipse.jdt.core.dom.ASTParser parser
        10: .line 1319
            aload 4 /* parser */
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.compilationUnit:Lorg/eclipse/jdt/core/ICompilationUnit;
            invokevirtual org.eclipse.jdt.core.dom.ASTParser.setSource:(Lorg/eclipse/jdt/core/ICompilationUnit;)V
        11: .line 1320
            aload 4 /* parser */
            iconst_0
            invokevirtual org.eclipse.jdt.core.dom.ASTParser.setFocalPosition:(I)V
        12: .line 1321
            aload 4 /* parser */
            iconst_0
            invokevirtual org.eclipse.jdt.core.dom.ASTParser.setResolveBindings:(Z)V
        13: .line 1322
            aload 4 /* parser */
            aload 2 /* subMonitor */
            iconst_1
            invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
            invokevirtual org.eclipse.jdt.core.dom.ASTParser.createAST:(Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/core/dom/ASTNode;
            checkcast org.eclipse.jdt.core.dom.CompilationUnit
            astore 3 /* usedAstRoot */
        end local 4 // org.eclipse.jdt.core.dom.ASTParser parser
        14: .line 1325
      StackMap locals: org.eclipse.jdt.core.dom.CompilationUnit
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.buildImportRewriteConfiguration:()Lorg/eclipse/jdt/internal/core/dom/rewrite/imports/ImportRewriteConfiguration;
            astore 4 /* config */
        start local 4 // org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration config
        15: .line 1328
            new org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteAnalyzer
            dup
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.compilationUnit:Lorg/eclipse/jdt/core/ICompilationUnit;
            aload 3 /* usedAstRoot */
            aload 4 /* config */
            invokespecial org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteAnalyzer.<init>:(Lorg/eclipse/jdt/core/ICompilationUnit;Lorg/eclipse/jdt/core/dom/CompilationUnit;Lorg/eclipse/jdt/internal/core/dom/rewrite/imports/ImportRewriteConfiguration;)V
        16: .line 1327
            astore 5 /* computer */
        start local 5 // org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteAnalyzer computer
        17: .line 1330
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addedImports:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 24
      StackMap locals: org.eclipse.jdt.core.dom.rewrite.ImportRewrite org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.core.dom.CompilationUnit org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteAnalyzer top java.util.Iterator
      StackMap stack:
        18: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* addedImport */
        start local 6 // java.lang.String addedImport
        19: .line 1331
            bipush 115
            aload 6 /* addedImport */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            if_icmpne 20
            iconst_1
            goto 21
      StackMap locals: org.eclipse.jdt.core.dom.rewrite.ImportRewrite org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.core.dom.CompilationUnit org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteAnalyzer java.lang.String java.util.Iterator
      StackMap stack:
        20: iconst_0
      StackMap locals:
      StackMap stack: int
        21: istore 8 /* isStatic */
        start local 8 // boolean isStatic
        22: .line 1332
            aload 6 /* addedImport */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 9 /* qualifiedName */
        start local 9 // java.lang.String qualifiedName
        23: .line 1333
            aload 5 /* computer */
            iload 8 /* isStatic */
            aload 9 /* qualifiedName */
            invokevirtual org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteAnalyzer.addImport:(ZLjava/lang/String;)V
        end local 9 // java.lang.String qualifiedName
        end local 8 // boolean isStatic
        end local 6 // java.lang.String addedImport
        24: .line 1330
      StackMap locals: org.eclipse.jdt.core.dom.rewrite.ImportRewrite org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.core.dom.CompilationUnit org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteAnalyzer top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 18
        25: .line 1336
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.removedImports:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 32
      StackMap locals:
      StackMap stack:
        26: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* removedImport */
        start local 6 // java.lang.String removedImport
        27: .line 1337
            bipush 115
            aload 6 /* removedImport */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            if_icmpne 28
            iconst_1
            goto 29
      StackMap locals: org.eclipse.jdt.core.dom.rewrite.ImportRewrite org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.core.dom.CompilationUnit org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteAnalyzer java.lang.String java.util.Iterator
      StackMap stack:
        28: iconst_0
      StackMap locals:
      StackMap stack: int
        29: istore 8 /* isStatic */
        start local 8 // boolean isStatic
        30: .line 1338
            aload 6 /* removedImport */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 9 /* qualifiedName */
        start local 9 // java.lang.String qualifiedName
        31: .line 1339
            aload 5 /* computer */
            iload 8 /* isStatic */
            aload 9 /* qualifiedName */
            invokevirtual org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteAnalyzer.removeImport:(ZLjava/lang/String;)V
        end local 9 // java.lang.String qualifiedName
        end local 8 // boolean isStatic
        end local 6 // java.lang.String removedImport
        32: .line 1336
      StackMap locals: org.eclipse.jdt.core.dom.rewrite.ImportRewrite org.eclipse.core.runtime.IProgressMonitor org.eclipse.core.runtime.SubMonitor org.eclipse.jdt.core.dom.CompilationUnit org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteAnalyzer top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 26
        33: .line 1342
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.typeExplicitSimpleNames:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 36
      StackMap locals:
      StackMap stack:
        34: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* typeExplicitSimpleName */
        start local 6 // java.lang.String typeExplicitSimpleName
        35: .line 1343
            aload 5 /* computer */
            iconst_0
            aload 6 /* typeExplicitSimpleName */
            invokevirtual org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteAnalyzer.requireExplicitImport:(ZLjava/lang/String;)V
        end local 6 // java.lang.String typeExplicitSimpleName
        36: .line 1342
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 34
        37: .line 1346
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.staticExplicitSimpleNames:Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 40
      StackMap locals:
      StackMap stack:
        38: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 6 /* staticExplicitSimpleName */
        start local 6 // java.lang.String staticExplicitSimpleName
        39: .line 1347
            aload 5 /* computer */
            iconst_1
            aload 6 /* staticExplicitSimpleName */
            invokevirtual org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteAnalyzer.requireExplicitImport:(ZLjava/lang/String;)V
        end local 6 // java.lang.String staticExplicitSimpleName
        40: .line 1346
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 38
        41: .line 1350
            aload 5 /* computer */
            aload 2 /* subMonitor */
            iconst_1
            invokevirtual org.eclipse.core.runtime.SubMonitor.split:(I)Lorg/eclipse/core/runtime/SubMonitor;
            invokevirtual org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteAnalyzer.analyzeRewrite:(Lorg/eclipse/core/runtime/IProgressMonitor;)Lorg/eclipse/jdt/internal/core/dom/rewrite/imports/ImportRewriteAnalyzer$RewriteResult;
            astore 6 /* result */
        start local 6 // org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteAnalyzer$RewriteResult result
        42: .line 1352
            aload 0 /* this */
            aload 6 /* result */
            invokevirtual org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteAnalyzer$RewriteResult.getCreatedImports:()[Ljava/lang/String;
            putfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.createdImports:[Ljava/lang/String;
        43: .line 1353
            aload 0 /* this */
            aload 6 /* result */
            invokevirtual org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteAnalyzer$RewriteResult.getCreatedStaticImports:()[Ljava/lang/String;
            putfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.createdStaticImports:[Ljava/lang/String;
        44: .line 1355
            aload 6 /* result */
            invokevirtual org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteAnalyzer$RewriteResult.getTextEdit:()Lorg/eclipse/text/edits/TextEdit;
            areturn
        end local 6 // org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteAnalyzer$RewriteResult result
        end local 5 // org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteAnalyzer computer
        end local 4 // org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration config
        end local 3 // org.eclipse.jdt.core.dom.CompilationUnit usedAstRoot
        end local 2 // org.eclipse.core.runtime.SubMonitor subMonitor
        end local 1 // org.eclipse.core.runtime.IProgressMonitor monitor
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   45     0                      this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            0   45     1                   monitor  Lorg/eclipse/core/runtime/IProgressMonitor;
            3   45     2                subMonitor  Lorg/eclipse/core/runtime/SubMonitor;
            8   45     3               usedAstRoot  Lorg/eclipse/jdt/core/dom/CompilationUnit;
           10   14     4                    parser  Lorg/eclipse/jdt/core/dom/ASTParser;
           15   45     4                    config  Lorg/eclipse/jdt/internal/core/dom/rewrite/imports/ImportRewriteConfiguration;
           17   45     5                  computer  Lorg/eclipse/jdt/internal/core/dom/rewrite/imports/ImportRewriteAnalyzer;
           19   24     6               addedImport  Ljava/lang/String;
           22   24     8                  isStatic  Z
           23   24     9             qualifiedName  Ljava/lang/String;
           27   32     6             removedImport  Ljava/lang/String;
           30   32     8                  isStatic  Z
           31   32     9             qualifiedName  Ljava/lang/String;
           35   36     6    typeExplicitSimpleName  Ljava/lang/String;
           39   40     6  staticExplicitSimpleName  Ljava/lang/String;
           42   45     6                    result  Lorg/eclipse/jdt/internal/core/dom/rewrite/imports/ImportRewriteAnalyzer$RewriteResult;
    Exceptions:
      throws org.eclipse.core.runtime.CoreException
    MethodParameters:
         Name  Flags
      monitor  

  private org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration buildImportRewriteConfiguration();
    descriptor: ()Lorg/eclipse/jdt/internal/core/dom/rewrite/imports/ImportRewriteConfiguration;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
         0: .line 1361
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.restoreExistingImports:Z
            ifeq 3
         1: .line 1362
            invokestatic org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration$Builder.preservingOriginalImports:()Lorg/eclipse/jdt/internal/core/dom/rewrite/imports/ImportRewriteConfiguration$Builder;
            astore 1 /* configBuilder */
        start local 1 // org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration$Builder configBuilder
         2: .line 1363
            goto 4
        end local 1 // org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration$Builder configBuilder
         3: .line 1364
      StackMap locals:
      StackMap stack:
            invokestatic org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration$Builder.discardingOriginalImports:()Lorg/eclipse/jdt/internal/core/dom/rewrite/imports/ImportRewriteConfiguration$Builder;
            astore 1 /* configBuilder */
        start local 1 // org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration$Builder configBuilder
         4: .line 1367
      StackMap locals: org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration$Builder
      StackMap stack:
            aload 1 /* configBuilder */
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.importOrder:[Ljava/lang/String;
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokevirtual org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration$Builder.setImportOrder:(Ljava/util/List;)Lorg/eclipse/jdt/internal/core/dom/rewrite/imports/ImportRewriteConfiguration$Builder;
            pop
         5: .line 1368
            aload 1 /* configBuilder */
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.importOnDemandThreshold:I
            invokevirtual org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration$Builder.setTypeOnDemandThreshold:(I)Lorg/eclipse/jdt/internal/core/dom/rewrite/imports/ImportRewriteConfiguration$Builder;
            pop
         6: .line 1369
            aload 1 /* configBuilder */
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.staticImportOnDemandThreshold:I
            invokevirtual org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration$Builder.setStaticOnDemandThreshold:(I)Lorg/eclipse/jdt/internal/core/dom/rewrite/imports/ImportRewriteConfiguration$Builder;
            pop
         7: .line 1371
            aload 1 /* configBuilder */
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.useContextToFilterImplicitImports:Z
            ifeq 9
         8: .line 1372
            getstatic org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration$ImportContainerSorting.BY_PACKAGE:Lorg/eclipse/jdt/internal/core/dom/rewrite/imports/ImportRewriteConfiguration$ImportContainerSorting;
            goto 10
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration$Builder
         9: getstatic org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration$ImportContainerSorting.BY_PACKAGE_AND_CONTAINING_TYPE:Lorg/eclipse/jdt/internal/core/dom/rewrite/imports/ImportRewriteConfiguration$ImportContainerSorting;
        10: .line 1371
      StackMap locals: org.eclipse.jdt.core.dom.rewrite.ImportRewrite org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration$Builder
      StackMap stack: org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration$Builder org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration$ImportContainerSorting
            invokevirtual org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration$Builder.setTypeContainerSorting:(Lorg/eclipse/jdt/internal/core/dom/rewrite/imports/ImportRewriteConfiguration$ImportContainerSorting;)Lorg/eclipse/jdt/internal/core/dom/rewrite/imports/ImportRewriteConfiguration$Builder;
            pop
        11: .line 1374
            aload 1 /* configBuilder */
            getstatic org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration$ImportContainerSorting.BY_PACKAGE_AND_CONTAINING_TYPE:Lorg/eclipse/jdt/internal/core/dom/rewrite/imports/ImportRewriteConfiguration$ImportContainerSorting;
            invokevirtual org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration$Builder.setStaticContainerSorting:(Lorg/eclipse/jdt/internal/core/dom/rewrite/imports/ImportRewriteConfiguration$ImportContainerSorting;)Lorg/eclipse/jdt/internal/core/dom/rewrite/imports/ImportRewriteConfiguration$Builder;
            pop
        12: .line 1376
            aload 1 /* configBuilder */
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.filterImplicitImports:Z
            ifeq 14
        13: .line 1377
            getstatic org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration$ImplicitImportIdentification.JAVA_LANG_AND_CU_PACKAGE:Lorg/eclipse/jdt/internal/core/dom/rewrite/imports/ImportRewriteConfiguration$ImplicitImportIdentification;
            goto 15
      StackMap locals:
      StackMap stack: org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration$Builder
        14: getstatic org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration$ImplicitImportIdentification.NONE:Lorg/eclipse/jdt/internal/core/dom/rewrite/imports/ImportRewriteConfiguration$ImplicitImportIdentification;
        15: .line 1376
      StackMap locals: org.eclipse.jdt.core.dom.rewrite.ImportRewrite org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration$Builder
      StackMap stack: org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration$Builder org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration$ImplicitImportIdentification
            invokevirtual org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration$Builder.setImplicitImportIdentification:(Lorg/eclipse/jdt/internal/core/dom/rewrite/imports/ImportRewriteConfiguration$ImplicitImportIdentification;)Lorg/eclipse/jdt/internal/core/dom/rewrite/imports/ImportRewriteConfiguration$Builder;
            pop
        16: .line 1379
            aload 1 /* configBuilder */
            invokevirtual org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration$Builder.build:()Lorg/eclipse/jdt/internal/core/dom/rewrite/imports/ImportRewriteConfiguration;
            areturn
        end local 1 // org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration$Builder configBuilder
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   17     0           this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            2    3     1  configBuilder  Lorg/eclipse/jdt/internal/core/dom/rewrite/imports/ImportRewriteConfiguration$Builder;
            4   17     1  configBuilder  Lorg/eclipse/jdt/internal/core/dom/rewrite/imports/ImportRewriteConfiguration$Builder;

  public java.lang.String[] getCreatedImports();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
         0: .line 1392
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.createdImports:[Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;

  public java.lang.String[] getCreatedStaticImports();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
         0: .line 1405
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.createdStaticImports:[Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;

  public java.lang.String[] getAddedImports();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
         0: .line 1414
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addedImports:Ljava/util/List;
            bipush 110
            invokestatic org.eclipse.jdt.core.dom.rewrite.ImportRewrite.filterFromList:(Ljava/util/List;C)[Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;

  public java.lang.String[] getAddedStaticImports();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
         0: .line 1423
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addedImports:Ljava/util/List;
            bipush 115
            invokestatic org.eclipse.jdt.core.dom.rewrite.ImportRewrite.filterFromList:(Ljava/util/List;C)[Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;

  public java.lang.String[] getRemovedImports();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
         0: .line 1432
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.removedImports:Ljava/util/List;
            bipush 110
            invokestatic org.eclipse.jdt.core.dom.rewrite.ImportRewrite.filterFromList:(Ljava/util/List;C)[Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;

  public java.lang.String[] getRemovedStaticImports();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
         0: .line 1441
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.removedImports:Ljava/util/List;
            bipush 115
            invokestatic org.eclipse.jdt.core.dom.rewrite.ImportRewrite.filterFromList:(Ljava/util/List;C)[Ljava/lang/String;
            areturn
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;

  public boolean hasRecordedChanges();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
         0: .line 1449
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.restoreExistingImports:Z
            ifeq 4
         1: .line 1450
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addedImports:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 4
         2: .line 1451
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.removedImports:Ljava/util/List;
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 4
         3: .line 1449
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_1
            ireturn
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;

  private static java.lang.String[] filterFromList(java.util.List<java.lang.String>, char);
    descriptor: (Ljava/util/List;C)[Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.util.List imports
        start local 1 // char prefix
         0: .line 1456
            aload 0 /* imports */
            ifnonnull 2
         1: .line 1457
            getstatic org.eclipse.jdt.core.compiler.CharOperation.NO_STRINGS:[Ljava/lang/String;
            areturn
         2: .line 1459
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* res */
        start local 2 // java.util.List res
         3: .line 1460
            aload 0 /* imports */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 7
      StackMap locals: java.util.List int java.util.List top java.util.Iterator
      StackMap stack:
         4: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* curr */
        start local 3 // java.lang.String curr
         5: .line 1461
            iload 1 /* prefix */
            aload 3 /* curr */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            if_icmpne 7
         6: .line 1462
            aload 2 /* res */
            aload 3 /* curr */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // java.lang.String curr
         7: .line 1460
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
         8: .line 1465
            aload 2 /* res */
            aload 2 /* res */
            invokeinterface java.util.List.size:()I
            anewarray java.lang.String
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 2 // java.util.List res
        end local 1 // char prefix
        end local 0 // java.util.List imports
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0  imports  Ljava/util/List<Ljava/lang/String;>;
            0    9     1   prefix  C
            3    9     2      res  Ljava/util/List<Ljava/lang/String;>;
            5    7     3     curr  Ljava/lang/String;
    Signature: (Ljava/util/List<Ljava/lang/String;>;C)[Ljava/lang/String;
    MethodParameters:
         Name  Flags
      imports  
      prefix   

  private void annotateList(java.util.List, org.eclipse.jdt.core.dom.IAnnotationBinding[], org.eclipse.jdt.core.dom.AST, org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext, org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation, org.eclipse.jdt.core.dom.ITypeBinding);
    descriptor: (Ljava/util/List;[Lorg/eclipse/jdt/core/dom/IAnnotationBinding;Lorg/eclipse/jdt/core/dom/AST;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;Lorg/eclipse/jdt/core/dom/ITypeBinding;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=7
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
        start local 1 // java.util.List annotations
        start local 2 // org.eclipse.jdt.core.dom.IAnnotationBinding[] annotationBindings
        start local 3 // org.eclipse.jdt.core.dom.AST ast
        start local 4 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext context
        start local 5 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation location
        start local 6 // org.eclipse.jdt.core.dom.ITypeBinding type
         0: .line 1470
            aload 4 /* context */
            ifnonnull 2
         1: .line 1471
            aload 0 /* this */
            getfield org.eclipse.jdt.core.dom.rewrite.ImportRewrite.defaultContext:Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;
            astore 4 /* context */
         2: .line 1472
      StackMap locals:
      StackMap stack:
            aload 4 /* context */
            aload 2 /* annotationBindings */
            aload 5 /* location */
            aload 6 /* type */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext.removeRedundantTypeAnnotations:([Lorg/eclipse/jdt/core/dom/IAnnotationBinding;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;Lorg/eclipse/jdt/core/dom/ITypeBinding;)[Lorg/eclipse/jdt/core/dom/IAnnotationBinding;
            astore 2 /* annotationBindings */
         3: .line 1473
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         4: goto 8
         5: .line 1474
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* annotationBindings */
            iload 7 /* i */
            aaload
            aload 3 /* ast */
            aload 4 /* context */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addAnnotation:(Lorg/eclipse/jdt/core/dom/IAnnotationBinding;Lorg/eclipse/jdt/core/dom/AST;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;)Lorg/eclipse/jdt/core/dom/Annotation;
            astore 8 /* annotation */
        start local 8 // org.eclipse.jdt.core.dom.Annotation annotation
         6: .line 1475
            aload 8 /* annotation */
            ifnull 7
            aload 1 /* annotations */
            aload 8 /* annotation */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // org.eclipse.jdt.core.dom.Annotation annotation
         7: .line 1473
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 7 /* i */
            aload 2 /* annotationBindings */
            arraylength
            if_icmplt 5
        end local 7 // int i
         9: .line 1477
            return
        end local 6 // org.eclipse.jdt.core.dom.ITypeBinding type
        end local 5 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation location
        end local 4 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext context
        end local 3 // org.eclipse.jdt.core.dom.AST ast
        end local 2 // org.eclipse.jdt.core.dom.IAnnotationBinding[] annotationBindings
        end local 1 // java.util.List annotations
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   10     0                this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            0   10     1         annotations  Ljava/util/List;
            0   10     2  annotationBindings  [Lorg/eclipse/jdt/core/dom/IAnnotationBinding;
            0   10     3                 ast  Lorg/eclipse/jdt/core/dom/AST;
            0   10     4             context  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;
            0   10     5            location  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;
            0   10     6                type  Lorg/eclipse/jdt/core/dom/ITypeBinding;
            4    9     7                   i  I
            6    7     8          annotation  Lorg/eclipse/jdt/core/dom/Annotation;
    MethodParameters:
                    Name  Flags
      annotations         
      annotationBindings  
      ast                 
      context             
      location            
      type                

  private org.eclipse.jdt.core.dom.Type annotateType(org.eclipse.jdt.core.dom.ITypeBinding, org.eclipse.jdt.core.dom.AST, org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext, org.eclipse.jdt.core.dom.Type, org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation);
    descriptor: (Lorg/eclipse/jdt/core/dom/ITypeBinding;Lorg/eclipse/jdt/core/dom/AST;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;Lorg/eclipse/jdt/core/dom/Type;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;)Lorg/eclipse/jdt/core/dom/Type;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=6
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
        start local 1 // org.eclipse.jdt.core.dom.ITypeBinding binding
        start local 2 // org.eclipse.jdt.core.dom.AST ast
        start local 3 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext context
        start local 4 // org.eclipse.jdt.core.dom.Type type
        start local 5 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation location
         0: .line 1480
            aload 1 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getTypeAnnotations:()[Lorg/eclipse/jdt/core/dom/IAnnotationBinding;
            astore 6 /* annotationBindings */
        start local 6 // org.eclipse.jdt.core.dom.IAnnotationBinding[] annotationBindings
         1: .line 1481
            aload 6 /* annotationBindings */
            ifnull 3
            aload 6 /* annotationBindings */
            arraylength
            ifle 3
            aload 4 /* type */
            instanceof org.eclipse.jdt.core.dom.AnnotatableType
            ifeq 3
         2: .line 1482
            aload 0 /* this */
            aload 4 /* type */
            checkcast org.eclipse.jdt.core.dom.AnnotatableType
            invokevirtual org.eclipse.jdt.core.dom.AnnotatableType.annotations:()Ljava/util/List;
            aload 6 /* annotationBindings */
            aload 2 /* ast */
            aload 3 /* context */
            aload 5 /* location */
            aload 1 /* binding */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.annotateList:(Ljava/util/List;[Lorg/eclipse/jdt/core/dom/IAnnotationBinding;Lorg/eclipse/jdt/core/dom/AST;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;Lorg/eclipse/jdt/core/dom/ITypeBinding;)V
         3: .line 1484
      StackMap locals: org.eclipse.jdt.core.dom.IAnnotationBinding[]
      StackMap stack:
            aload 4 /* type */
            areturn
        end local 6 // org.eclipse.jdt.core.dom.IAnnotationBinding[] annotationBindings
        end local 5 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation location
        end local 4 // org.eclipse.jdt.core.dom.Type type
        end local 3 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext context
        end local 2 // org.eclipse.jdt.core.dom.AST ast
        end local 1 // org.eclipse.jdt.core.dom.ITypeBinding binding
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    4     0                this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            0    4     1             binding  Lorg/eclipse/jdt/core/dom/ITypeBinding;
            0    4     2                 ast  Lorg/eclipse/jdt/core/dom/AST;
            0    4     3             context  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;
            0    4     4                type  Lorg/eclipse/jdt/core/dom/Type;
            0    4     5            location  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;
            1    4     6  annotationBindings  [Lorg/eclipse/jdt/core/dom/IAnnotationBinding;
    MethodParameters:
          Name  Flags
      binding   
      ast       
      context   
      type      
      location  

  private org.eclipse.jdt.core.dom.Type buildType(org.eclipse.jdt.core.dom.ITypeBinding, org.eclipse.jdt.core.dom.ITypeBinding, org.eclipse.jdt.core.dom.AST, org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext, org.eclipse.jdt.core.dom.Type, org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation);
    descriptor: (Lorg/eclipse/jdt/core/dom/ITypeBinding;Lorg/eclipse/jdt/core/dom/ITypeBinding;Lorg/eclipse/jdt/core/dom/AST;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;Lorg/eclipse/jdt/core/dom/Type;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;)Lorg/eclipse/jdt/core/dom/Type;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=8, args_size=7
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
        start local 1 // org.eclipse.jdt.core.dom.ITypeBinding binding
        start local 2 // org.eclipse.jdt.core.dom.ITypeBinding bindingPoint
        start local 3 // org.eclipse.jdt.core.dom.AST ast
        start local 4 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext context
        start local 5 // org.eclipse.jdt.core.dom.Type qualifier
        start local 6 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation location
         0: .line 1488
            aload 1 /* binding */
            aload 2 /* bindingPoint */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 1489
            aload 5 /* qualifier */
            areturn
         2: .line 1492
      StackMap locals:
      StackMap stack:
            aload 1 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.isMember:()Z
            ifeq 3
            aload 0 /* this */
            aload 1 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getDeclaringClass:()Lorg/eclipse/jdt/core/dom/ITypeBinding;
            aload 2 /* bindingPoint */
            aload 3 /* ast */
            aload 4 /* context */
            aload 5 /* qualifier */
            getstatic org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation.OTHER:Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.buildType:(Lorg/eclipse/jdt/core/dom/ITypeBinding;Lorg/eclipse/jdt/core/dom/ITypeBinding;Lorg/eclipse/jdt/core/dom/AST;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;Lorg/eclipse/jdt/core/dom/Type;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;)Lorg/eclipse/jdt/core/dom/Type;
            goto 4
      StackMap locals:
      StackMap stack:
         3: aconst_null
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.dom.Type
         4: astore 7 /* type */
        start local 7 // org.eclipse.jdt.core.dom.Type type
         5: .line 1493
            aload 0 /* this */
            aload 1 /* binding */
            aload 3 /* ast */
            aload 4 /* context */
            aload 7 /* type */
            iconst_0
            aload 6 /* location */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.internalAddImport:(Lorg/eclipse/jdt/core/dom/ITypeBinding;Lorg/eclipse/jdt/core/dom/AST;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;Lorg/eclipse/jdt/core/dom/Type;ZLorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;)Lorg/eclipse/jdt/core/dom/Type;
            astore 7 /* type */
         6: .line 1494
            aload 7 /* type */
            areturn
        end local 7 // org.eclipse.jdt.core.dom.Type type
        end local 6 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation location
        end local 5 // org.eclipse.jdt.core.dom.Type qualifier
        end local 4 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext context
        end local 3 // org.eclipse.jdt.core.dom.AST ast
        end local 2 // org.eclipse.jdt.core.dom.ITypeBinding bindingPoint
        end local 1 // org.eclipse.jdt.core.dom.ITypeBinding binding
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    7     0          this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            0    7     1       binding  Lorg/eclipse/jdt/core/dom/ITypeBinding;
            0    7     2  bindingPoint  Lorg/eclipse/jdt/core/dom/ITypeBinding;
            0    7     3           ast  Lorg/eclipse/jdt/core/dom/AST;
            0    7     4       context  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;
            0    7     5     qualifier  Lorg/eclipse/jdt/core/dom/Type;
            0    7     6      location  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;
            5    7     7          type  Lorg/eclipse/jdt/core/dom/Type;
    MethodParameters:
              Name  Flags
      binding       
      bindingPoint  
      ast           
      context       
      qualifier     
      location      

  private org.eclipse.jdt.core.dom.ITypeBinding checkAnnotationAndGenerics(org.eclipse.jdt.core.dom.ITypeBinding);
    descriptor: (Lorg/eclipse/jdt/core/dom/ITypeBinding;)Lorg/eclipse/jdt/core/dom/ITypeBinding;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=5, args_size=2
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
        start local 1 // org.eclipse.jdt.core.dom.ITypeBinding binding
         0: .line 1498
            aconst_null
            astore 2 /* bindingPoint */
        start local 2 // org.eclipse.jdt.core.dom.ITypeBinding bindingPoint
         1: .line 1499
            goto 9
         2: .line 1500
      StackMap locals: org.eclipse.jdt.core.dom.ITypeBinding
      StackMap stack:
            aload 1 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getTypeAnnotations:()[Lorg/eclipse/jdt/core/dom/IAnnotationBinding;
            astore 3 /* annotationBinding */
        start local 3 // org.eclipse.jdt.core.dom.IAnnotationBinding[] annotationBinding
         3: .line 1501
            aload 1 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getTypeArguments:()[Lorg/eclipse/jdt/core/dom/ITypeBinding;
            astore 4 /* typeArguments */
        start local 4 // org.eclipse.jdt.core.dom.ITypeBinding[] typeArguments
         4: .line 1502
            aload 3 /* annotationBinding */
            ifnull 5
            aload 3 /* annotationBinding */
            arraylength
            ifgt 6
         5: .line 1503
      StackMap locals: org.eclipse.jdt.core.dom.IAnnotationBinding[] org.eclipse.jdt.core.dom.ITypeBinding[]
      StackMap stack:
            aload 4 /* typeArguments */
            ifnull 7
            aload 4 /* typeArguments */
            arraylength
            ifle 7
         6: .line 1504
      StackMap locals:
      StackMap stack:
            aload 1 /* binding */
            astore 2 /* bindingPoint */
         7: .line 1506
      StackMap locals:
      StackMap stack:
            aload 1 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.isMember:()Z
            ifeq 10
         8: .line 1507
            aload 1 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getDeclaringClass:()Lorg/eclipse/jdt/core/dom/ITypeBinding;
            astore 1 /* binding */
        end local 4 // org.eclipse.jdt.core.dom.ITypeBinding[] typeArguments
        end local 3 // org.eclipse.jdt.core.dom.IAnnotationBinding[] annotationBinding
         9: .line 1499
      StackMap locals:
      StackMap stack:
            aload 1 /* binding */
            ifnonnull 2
        10: .line 1512
      StackMap locals:
      StackMap stack:
            aload 2 /* bindingPoint */
            areturn
        end local 2 // org.eclipse.jdt.core.dom.ITypeBinding bindingPoint
        end local 1 // org.eclipse.jdt.core.dom.ITypeBinding binding
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   11     0               this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            0   11     1            binding  Lorg/eclipse/jdt/core/dom/ITypeBinding;
            1   11     2       bindingPoint  Lorg/eclipse/jdt/core/dom/ITypeBinding;
            3    9     3  annotationBinding  [Lorg/eclipse/jdt/core/dom/IAnnotationBinding;
            4    9     4      typeArguments  [Lorg/eclipse/jdt/core/dom/ITypeBinding;
    MethodParameters:
         Name  Flags
      binding  

  private org.eclipse.jdt.core.dom.Type createBaseType(org.eclipse.jdt.core.dom.AST, org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext, org.eclipse.jdt.core.dom.ITypeBinding, org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation);
    descriptor: (Lorg/eclipse/jdt/core/dom/AST;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;Lorg/eclipse/jdt/core/dom/ITypeBinding;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;)Lorg/eclipse/jdt/core/dom/Type;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=13, args_size=5
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
        start local 1 // org.eclipse.jdt.core.dom.AST ast
        start local 2 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext context
        start local 3 // org.eclipse.jdt.core.dom.ITypeBinding normalizedBinding
        start local 4 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation location
         0: .line 1517
            aload 3 /* normalizedBinding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getTypeAnnotations:()[Lorg/eclipse/jdt/core/dom/IAnnotationBinding;
            astore 6 /* annotationBinding */
        start local 6 // org.eclipse.jdt.core.dom.IAnnotationBinding[] annotationBinding
         1: .line 1518
            aload 6 /* annotationBinding */
            ifnull 2
            aload 6 /* annotationBinding */
            arraylength
            ifle 2
            iconst_1
            goto 3
      StackMap locals: org.eclipse.jdt.core.dom.rewrite.ImportRewrite org.eclipse.jdt.core.dom.AST org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext org.eclipse.jdt.core.dom.ITypeBinding org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation top org.eclipse.jdt.core.dom.IAnnotationBinding[]
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 7 /* annotsPresent */
        start local 7 // boolean annotsPresent
         4: .line 1520
            aload 3 /* normalizedBinding */
            invokestatic org.eclipse.jdt.core.dom.rewrite.ImportRewrite.getRawQualifiedName:(Lorg/eclipse/jdt/core/dom/ITypeBinding;)Ljava/lang/String;
            astore 8 /* qualifiedName */
        start local 8 // java.lang.String qualifiedName
         5: .line 1521
            aload 8 /* qualifiedName */
            invokevirtual java.lang.String.length:()I
            ifle 6
            aload 0 /* this */
            aload 8 /* qualifiedName */
            aload 2 /* context */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.internalAddImport:(Ljava/lang/String;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;)Ljava/lang/String;
            goto 7
      StackMap locals: int java.lang.String
      StackMap stack:
         6: aload 3 /* normalizedBinding */
            invokestatic org.eclipse.jdt.core.dom.rewrite.ImportRewrite.getRawName:(Lorg/eclipse/jdt/core/dom/ITypeBinding;)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         7: astore 9 /* res */
        start local 9 // java.lang.String res
         8: .line 1523
            iload 7 /* annotsPresent */
            ifeq 20
         9: .line 1524
            aload 9 /* res */
            ifnull 10
            aload 9 /* res */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            goto 11
      StackMap locals: java.lang.String
      StackMap stack:
        10: iconst_m1
      StackMap locals:
      StackMap stack: int
        11: istore 10 /* dotIndex */
        start local 10 // int dotIndex
        12: .line 1525
            iload 10 /* dotIndex */
            ifle 17
        13: .line 1526
            aload 1 /* ast */
            aload 9 /* res */
            iconst_0
            iload 10 /* dotIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual org.eclipse.jdt.core.dom.AST.newName:(Ljava/lang/String;)Lorg/eclipse/jdt/core/dom/Name;
            astore 11 /* nameQualifier */
        start local 11 // org.eclipse.jdt.core.dom.Name nameQualifier
        14: .line 1527
            aload 1 /* ast */
            aload 9 /* res */
            iload 10 /* dotIndex */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual org.eclipse.jdt.core.dom.AST.newSimpleName:(Ljava/lang/String;)Lorg/eclipse/jdt/core/dom/SimpleName;
            astore 12 /* simpleName */
        start local 12 // org.eclipse.jdt.core.dom.SimpleName simpleName
        15: .line 1528
            aload 1 /* ast */
            aload 11 /* nameQualifier */
            aload 12 /* simpleName */
            invokevirtual org.eclipse.jdt.core.dom.AST.newNameQualifiedType:(Lorg/eclipse/jdt/core/dom/Name;Lorg/eclipse/jdt/core/dom/SimpleName;)Lorg/eclipse/jdt/core/dom/NameQualifiedType;
            astore 5 /* type */
        end local 12 // org.eclipse.jdt.core.dom.SimpleName simpleName
        end local 11 // org.eclipse.jdt.core.dom.Name nameQualifier
        start local 5 // org.eclipse.jdt.core.dom.Type type
        16: .line 1529
            goto 18
        end local 5 // org.eclipse.jdt.core.dom.Type type
        17: .line 1530
      StackMap locals: int
      StackMap stack:
            aload 1 /* ast */
            aload 1 /* ast */
            aload 9 /* res */
            invokevirtual org.eclipse.jdt.core.dom.AST.newName:(Ljava/lang/String;)Lorg/eclipse/jdt/core/dom/Name;
            invokevirtual org.eclipse.jdt.core.dom.AST.newSimpleType:(Lorg/eclipse/jdt/core/dom/Name;)Lorg/eclipse/jdt/core/dom/SimpleType;
            astore 5 /* type */
        start local 5 // org.eclipse.jdt.core.dom.Type type
        18: .line 1532
      StackMap locals: org.eclipse.jdt.core.dom.rewrite.ImportRewrite org.eclipse.jdt.core.dom.AST org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext org.eclipse.jdt.core.dom.ITypeBinding org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation org.eclipse.jdt.core.dom.Type org.eclipse.jdt.core.dom.IAnnotationBinding[] int java.lang.String java.lang.String int
      StackMap stack:
            aload 0 /* this */
            aload 5 /* type */
            checkcast org.eclipse.jdt.core.dom.AnnotatableType
            invokevirtual org.eclipse.jdt.core.dom.AnnotatableType.annotations:()Ljava/util/List;
            aload 6 /* annotationBinding */
            aload 1 /* ast */
            aload 2 /* context */
            aload 4 /* location */
            aload 3 /* normalizedBinding */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.annotateList:(Ljava/util/List;[Lorg/eclipse/jdt/core/dom/IAnnotationBinding;Lorg/eclipse/jdt/core/dom/AST;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;Lorg/eclipse/jdt/core/dom/ITypeBinding;)V
        end local 10 // int dotIndex
        19: .line 1533
            goto 21
        end local 5 // org.eclipse.jdt.core.dom.Type type
        20: .line 1534
      StackMap locals: org.eclipse.jdt.core.dom.rewrite.ImportRewrite org.eclipse.jdt.core.dom.AST org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext org.eclipse.jdt.core.dom.ITypeBinding org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation top org.eclipse.jdt.core.dom.IAnnotationBinding[] int java.lang.String java.lang.String
      StackMap stack:
            aload 1 /* ast */
            aload 1 /* ast */
            aload 9 /* res */
            invokevirtual org.eclipse.jdt.core.dom.AST.newName:(Ljava/lang/String;)Lorg/eclipse/jdt/core/dom/Name;
            invokevirtual org.eclipse.jdt.core.dom.AST.newSimpleType:(Lorg/eclipse/jdt/core/dom/Name;)Lorg/eclipse/jdt/core/dom/SimpleType;
            astore 5 /* type */
        start local 5 // org.eclipse.jdt.core.dom.Type type
        21: .line 1536
      StackMap locals: org.eclipse.jdt.core.dom.rewrite.ImportRewrite org.eclipse.jdt.core.dom.AST org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext org.eclipse.jdt.core.dom.ITypeBinding org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation org.eclipse.jdt.core.dom.Type org.eclipse.jdt.core.dom.IAnnotationBinding[] int java.lang.String java.lang.String
      StackMap stack:
            aload 5 /* type */
            areturn
        end local 9 // java.lang.String res
        end local 8 // java.lang.String qualifiedName
        end local 7 // boolean annotsPresent
        end local 6 // org.eclipse.jdt.core.dom.IAnnotationBinding[] annotationBinding
        end local 5 // org.eclipse.jdt.core.dom.Type type
        end local 4 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation location
        end local 3 // org.eclipse.jdt.core.dom.ITypeBinding normalizedBinding
        end local 2 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext context
        end local 1 // org.eclipse.jdt.core.dom.AST ast
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   22     0               this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            0   22     1                ast  Lorg/eclipse/jdt/core/dom/AST;
            0   22     2            context  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;
            0   22     3  normalizedBinding  Lorg/eclipse/jdt/core/dom/ITypeBinding;
            0   22     4           location  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;
           16   17     5               type  Lorg/eclipse/jdt/core/dom/Type;
           18   20     5               type  Lorg/eclipse/jdt/core/dom/Type;
           21   22     5               type  Lorg/eclipse/jdt/core/dom/Type;
            1   22     6  annotationBinding  [Lorg/eclipse/jdt/core/dom/IAnnotationBinding;
            4   22     7      annotsPresent  Z
            5   22     8      qualifiedName  Ljava/lang/String;
            8   22     9                res  Ljava/lang/String;
           12   19    10           dotIndex  I
           14   16    11      nameQualifier  Lorg/eclipse/jdt/core/dom/Name;
           15   16    12         simpleName  Lorg/eclipse/jdt/core/dom/SimpleName;
    MethodParameters:
                   Name  Flags
      ast                
      context            
      normalizedBinding  
      location           

  private org.eclipse.jdt.core.dom.Type getArrayType(org.eclipse.jdt.core.dom.Type, org.eclipse.jdt.core.dom.AST, org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext, org.eclipse.jdt.core.dom.ITypeBinding, org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation);
    descriptor: (Lorg/eclipse/jdt/core/dom/Type;Lorg/eclipse/jdt/core/dom/AST;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;Lorg/eclipse/jdt/core/dom/ITypeBinding;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;)Lorg/eclipse/jdt/core/dom/Type;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=11, args_size=6
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
        start local 1 // org.eclipse.jdt.core.dom.Type elementType
        start local 2 // org.eclipse.jdt.core.dom.AST ast
        start local 3 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext context
        start local 4 // org.eclipse.jdt.core.dom.ITypeBinding normalizedBinding
        start local 5 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation location
         0: .line 1540
            aload 4 /* normalizedBinding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getDimensions:()I
            istore 6 /* noDimensions */
        start local 6 // int noDimensions
         1: .line 1541
            aload 2 /* ast */
            aload 1 /* elementType */
            iload 6 /* noDimensions */
            invokevirtual org.eclipse.jdt.core.dom.AST.newArrayType:(Lorg/eclipse/jdt/core/dom/Type;I)Lorg/eclipse/jdt/core/dom/ArrayType;
            astore 7 /* arrayType */
        start local 7 // org.eclipse.jdt.core.dom.ArrayType arrayType
         2: .line 1542
            aload 2 /* ast */
            invokevirtual org.eclipse.jdt.core.dom.AST.apiLevel:()I
            bipush 8
            if_icmplt 16
         3: .line 1543
            iconst_0
            istore 8 /* i */
        start local 8 // int i
         4: goto 15
         5: .line 1544
      StackMap locals: int org.eclipse.jdt.core.dom.ArrayType int
      StackMap stack:
            aload 4 /* normalizedBinding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getTypeAnnotations:()[Lorg/eclipse/jdt/core/dom/IAnnotationBinding;
            astore 9 /* typeAnnotations */
        start local 9 // org.eclipse.jdt.core.dom.IAnnotationBinding[] typeAnnotations
         6: .line 1545
            aload 9 /* typeAnnotations */
            arraylength
            ifle 13
         7: .line 1546
            aload 7 /* arrayType */
            invokevirtual org.eclipse.jdt.core.dom.ArrayType.dimensions:()Ljava/util/List;
            iload 8 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.eclipse.jdt.core.dom.Dimension
            astore 10 /* dimension */
        start local 10 // org.eclipse.jdt.core.dom.Dimension dimension
         8: .line 1547
            aload 0 /* this */
            aload 10 /* dimension */
            invokevirtual org.eclipse.jdt.core.dom.Dimension.annotations:()Ljava/util/List;
            aload 9 /* typeAnnotations */
            aload 2 /* ast */
            aload 3 /* context */
         9: .line 1548
            iload 8 /* i */
            ifne 10
            aload 5 /* location */
            goto 11
      StackMap locals: org.eclipse.jdt.core.dom.rewrite.ImportRewrite org.eclipse.jdt.core.dom.Type org.eclipse.jdt.core.dom.AST org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext org.eclipse.jdt.core.dom.ITypeBinding org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation int org.eclipse.jdt.core.dom.ArrayType int org.eclipse.jdt.core.dom.IAnnotationBinding[] org.eclipse.jdt.core.dom.Dimension
      StackMap stack: org.eclipse.jdt.core.dom.rewrite.ImportRewrite java.util.List org.eclipse.jdt.core.dom.IAnnotationBinding[] org.eclipse.jdt.core.dom.AST org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext
        10: getstatic org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation.ARRAY_CONTENTS:Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;
      StackMap locals: org.eclipse.jdt.core.dom.rewrite.ImportRewrite org.eclipse.jdt.core.dom.Type org.eclipse.jdt.core.dom.AST org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext org.eclipse.jdt.core.dom.ITypeBinding org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation int org.eclipse.jdt.core.dom.ArrayType int org.eclipse.jdt.core.dom.IAnnotationBinding[] org.eclipse.jdt.core.dom.Dimension
      StackMap stack: org.eclipse.jdt.core.dom.rewrite.ImportRewrite java.util.List org.eclipse.jdt.core.dom.IAnnotationBinding[] org.eclipse.jdt.core.dom.AST org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation
        11: aload 4 /* normalizedBinding */
        12: .line 1547
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.annotateList:(Ljava/util/List;[Lorg/eclipse/jdt/core/dom/IAnnotationBinding;Lorg/eclipse/jdt/core/dom/AST;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;Lorg/eclipse/jdt/core/dom/ITypeBinding;)V
        end local 10 // org.eclipse.jdt.core.dom.Dimension dimension
        13: .line 1550
      StackMap locals:
      StackMap stack:
            aload 4 /* normalizedBinding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getComponentType:()Lorg/eclipse/jdt/core/dom/ITypeBinding;
            astore 4 /* normalizedBinding */
        end local 9 // org.eclipse.jdt.core.dom.IAnnotationBinding[] typeAnnotations
        14: .line 1543
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        15: iload 8 /* i */
            iload 6 /* noDimensions */
            if_icmplt 5
        end local 8 // int i
        16: .line 1553
      StackMap locals:
      StackMap stack:
            aload 7 /* arrayType */
            areturn
        end local 7 // org.eclipse.jdt.core.dom.ArrayType arrayType
        end local 6 // int noDimensions
        end local 5 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation location
        end local 4 // org.eclipse.jdt.core.dom.ITypeBinding normalizedBinding
        end local 3 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext context
        end local 2 // org.eclipse.jdt.core.dom.AST ast
        end local 1 // org.eclipse.jdt.core.dom.Type elementType
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   17     0               this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            0   17     1        elementType  Lorg/eclipse/jdt/core/dom/Type;
            0   17     2                ast  Lorg/eclipse/jdt/core/dom/AST;
            0   17     3            context  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;
            0   17     4  normalizedBinding  Lorg/eclipse/jdt/core/dom/ITypeBinding;
            0   17     5           location  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;
            1   17     6       noDimensions  I
            2   17     7          arrayType  Lorg/eclipse/jdt/core/dom/ArrayType;
            4   16     8                  i  I
            6   14     9    typeAnnotations  [Lorg/eclipse/jdt/core/dom/IAnnotationBinding;
            8   13    10          dimension  Lorg/eclipse/jdt/core/dom/Dimension;
    MethodParameters:
                   Name  Flags
      elementType        
      ast                
      context            
      normalizedBinding  
      location           

  private org.eclipse.jdt.core.dom.Type internalAddImport(org.eclipse.jdt.core.dom.ITypeBinding, org.eclipse.jdt.core.dom.AST, org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext, org.eclipse.jdt.core.dom.Type, boolean, org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation);
    descriptor: (Lorg/eclipse/jdt/core/dom/ITypeBinding;Lorg/eclipse/jdt/core/dom/AST;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;Lorg/eclipse/jdt/core/dom/Type;ZLorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;)Lorg/eclipse/jdt/core/dom/Type;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=14, args_size=7
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
        start local 1 // org.eclipse.jdt.core.dom.ITypeBinding binding
        start local 2 // org.eclipse.jdt.core.dom.AST ast
        start local 3 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext context
        start local 4 // org.eclipse.jdt.core.dom.Type currentType
        start local 5 // boolean getBase
        start local 6 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation location
         0: .line 1557
            aconst_null
            astore 7 /* type */
        start local 7 // org.eclipse.jdt.core.dom.Type type
         1: .line 1558
            aconst_null
            astore 8 /* normalizedBinding */
        start local 8 // org.eclipse.jdt.core.dom.ITypeBinding normalizedBinding
         2: .line 1560
            aload 1 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.isPrimitive:()Z
            ifeq 6
         3: .line 1561
            aload 2 /* ast */
            aload 1 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getName:()Ljava/lang/String;
            invokestatic org.eclipse.jdt.core.dom.PrimitiveType.toCode:(Ljava/lang/String;)Lorg/eclipse/jdt/core/dom/PrimitiveType$Code;
            invokevirtual org.eclipse.jdt.core.dom.AST.newPrimitiveType:(Lorg/eclipse/jdt/core/dom/PrimitiveType$Code;)Lorg/eclipse/jdt/core/dom/PrimitiveType;
            astore 7 /* type */
         4: .line 1562
            aload 1 /* binding */
            astore 8 /* normalizedBinding */
         5: .line 1563
            goto 23
         6: .line 1564
      StackMap locals: org.eclipse.jdt.core.dom.Type org.eclipse.jdt.core.dom.ITypeBinding
      StackMap stack:
            aload 1 /* binding */
            invokestatic org.eclipse.jdt.core.dom.rewrite.ImportRewrite.normalizeTypeBinding:(Lorg/eclipse/jdt/core/dom/ITypeBinding;)Lorg/eclipse/jdt/core/dom/ITypeBinding;
            astore 8 /* normalizedBinding */
         7: .line 1565
            aload 8 /* normalizedBinding */
            ifnonnull 9
         8: .line 1566
            aload 2 /* ast */
            aload 2 /* ast */
            ldc "invalid"
            invokevirtual org.eclipse.jdt.core.dom.AST.newSimpleName:(Ljava/lang/String;)Lorg/eclipse/jdt/core/dom/SimpleName;
            invokevirtual org.eclipse.jdt.core.dom.AST.newSimpleType:(Lorg/eclipse/jdt/core/dom/Name;)Lorg/eclipse/jdt/core/dom/SimpleType;
            areturn
         9: .line 1567
      StackMap locals:
      StackMap stack:
            aload 8 /* normalizedBinding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.isTypeVariable:()Z
            ifeq 12
        10: .line 1569
            aload 2 /* ast */
            aload 2 /* ast */
            aload 1 /* binding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getName:()Ljava/lang/String;
            invokevirtual org.eclipse.jdt.core.dom.AST.newSimpleName:(Ljava/lang/String;)Lorg/eclipse/jdt/core/dom/SimpleName;
            invokevirtual org.eclipse.jdt.core.dom.AST.newSimpleType:(Lorg/eclipse/jdt/core/dom/Name;)Lorg/eclipse/jdt/core/dom/SimpleType;
            astore 7 /* type */
        11: .line 1570
            goto 23
      StackMap locals:
      StackMap stack:
        12: aload 8 /* normalizedBinding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.isWildcardType:()Z
            ifeq 20
        13: .line 1571
            aload 2 /* ast */
            invokevirtual org.eclipse.jdt.core.dom.AST.newWildcardType:()Lorg/eclipse/jdt/core/dom/WildcardType;
            astore 9 /* wcType */
        start local 9 // org.eclipse.jdt.core.dom.WildcardType wcType
        14: .line 1572
            aload 8 /* normalizedBinding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getBound:()Lorg/eclipse/jdt/core/dom/ITypeBinding;
            astore 10 /* bound */
        start local 10 // org.eclipse.jdt.core.dom.ITypeBinding bound
        15: .line 1573
            aload 10 /* bound */
            ifnull 18
            aload 10 /* bound */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.isWildcardType:()Z
            ifne 18
            aload 10 /* bound */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.isCapture:()Z
            ifne 18
        16: .line 1574
            aload 0 /* this */
            aload 10 /* bound */
            aload 2 /* ast */
            aload 3 /* context */
            getstatic org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation.TYPE_BOUND:Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addImport:(Lorg/eclipse/jdt/core/dom/ITypeBinding;Lorg/eclipse/jdt/core/dom/AST;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;)Lorg/eclipse/jdt/core/dom/Type;
            astore 11 /* boundType */
        start local 11 // org.eclipse.jdt.core.dom.Type boundType
        17: .line 1575
            aload 9 /* wcType */
            aload 11 /* boundType */
            aload 8 /* normalizedBinding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.isUpperbound:()Z
            invokevirtual org.eclipse.jdt.core.dom.WildcardType.setBound:(Lorg/eclipse/jdt/core/dom/Type;Z)V
        end local 11 // org.eclipse.jdt.core.dom.Type boundType
        18: .line 1577
      StackMap locals: org.eclipse.jdt.core.dom.WildcardType org.eclipse.jdt.core.dom.ITypeBinding
      StackMap stack:
            aload 9 /* wcType */
            astore 7 /* type */
        end local 10 // org.eclipse.jdt.core.dom.ITypeBinding bound
        end local 9 // org.eclipse.jdt.core.dom.WildcardType wcType
        19: .line 1578
            goto 23
      StackMap locals:
      StackMap stack:
        20: aload 8 /* normalizedBinding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.isArray:()Z
            ifeq 23
        21: .line 1579
            aload 0 /* this */
            aload 8 /* normalizedBinding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getElementType:()Lorg/eclipse/jdt/core/dom/ITypeBinding;
            aload 2 /* ast */
            aload 3 /* context */
            getstatic org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation.ARRAY_CONTENTS:Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addImport:(Lorg/eclipse/jdt/core/dom/ITypeBinding;Lorg/eclipse/jdt/core/dom/AST;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;)Lorg/eclipse/jdt/core/dom/Type;
            astore 9 /* elementType */
        start local 9 // org.eclipse.jdt.core.dom.Type elementType
        22: .line 1580
            aload 0 /* this */
            aload 9 /* elementType */
            aload 2 /* ast */
            aload 3 /* context */
            aload 8 /* normalizedBinding */
            aload 6 /* location */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.getArrayType:(Lorg/eclipse/jdt/core/dom/Type;Lorg/eclipse/jdt/core/dom/AST;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;Lorg/eclipse/jdt/core/dom/ITypeBinding;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;)Lorg/eclipse/jdt/core/dom/Type;
            astore 7 /* type */
        end local 9 // org.eclipse.jdt.core.dom.Type elementType
        23: .line 1584
      StackMap locals:
      StackMap stack:
            aload 7 /* type */
            ifnull 25
        24: .line 1585
            aload 0 /* this */
            aload 8 /* normalizedBinding */
            aload 2 /* ast */
            aload 3 /* context */
            aload 7 /* type */
            aload 6 /* location */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.annotateType:(Lorg/eclipse/jdt/core/dom/ITypeBinding;Lorg/eclipse/jdt/core/dom/AST;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;Lorg/eclipse/jdt/core/dom/Type;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;)Lorg/eclipse/jdt/core/dom/Type;
            areturn
        25: .line 1588
      StackMap locals:
      StackMap stack:
            iload 5 /* getBase */
            ifeq 28
        26: .line 1589
            aload 0 /* this */
            aload 2 /* ast */
            aload 3 /* context */
            aload 8 /* normalizedBinding */
            aload 6 /* location */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.createBaseType:(Lorg/eclipse/jdt/core/dom/AST;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;Lorg/eclipse/jdt/core/dom/ITypeBinding;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;)Lorg/eclipse/jdt/core/dom/Type;
            astore 7 /* type */
        27: .line 1590
            goto 32
        28: .line 1591
      StackMap locals:
      StackMap stack:
            aload 4 /* currentType */
            ifnull 29
            aload 2 /* ast */
            aload 4 /* currentType */
            aload 2 /* ast */
            aload 8 /* normalizedBinding */
            invokestatic org.eclipse.jdt.core.dom.rewrite.ImportRewrite.getRawName:(Lorg/eclipse/jdt/core/dom/ITypeBinding;)Ljava/lang/String;
            invokevirtual org.eclipse.jdt.core.dom.AST.newSimpleName:(Ljava/lang/String;)Lorg/eclipse/jdt/core/dom/SimpleName;
            invokevirtual org.eclipse.jdt.core.dom.AST.newQualifiedType:(Lorg/eclipse/jdt/core/dom/Type;Lorg/eclipse/jdt/core/dom/SimpleName;)Lorg/eclipse/jdt/core/dom/QualifiedType;
            goto 30
        29: .line 1592
      StackMap locals:
      StackMap stack:
            aload 2 /* ast */
            aload 2 /* ast */
            aload 8 /* normalizedBinding */
            invokestatic org.eclipse.jdt.core.dom.rewrite.ImportRewrite.getRawName:(Lorg/eclipse/jdt/core/dom/ITypeBinding;)Ljava/lang/String;
            invokevirtual org.eclipse.jdt.core.dom.AST.newName:(Ljava/lang/String;)Lorg/eclipse/jdt/core/dom/Name;
            invokevirtual org.eclipse.jdt.core.dom.AST.newSimpleType:(Lorg/eclipse/jdt/core/dom/Name;)Lorg/eclipse/jdt/core/dom/SimpleType;
        30: .line 1591
      StackMap locals:
      StackMap stack: org.eclipse.jdt.core.dom.AnnotatableType
            astore 7 /* type */
        31: .line 1593
            aload 0 /* this */
            aload 8 /* normalizedBinding */
            aload 2 /* ast */
            aload 3 /* context */
            aload 7 /* type */
            aload 6 /* location */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.annotateType:(Lorg/eclipse/jdt/core/dom/ITypeBinding;Lorg/eclipse/jdt/core/dom/AST;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;Lorg/eclipse/jdt/core/dom/Type;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;)Lorg/eclipse/jdt/core/dom/Type;
            astore 7 /* type */
        32: .line 1596
      StackMap locals:
      StackMap stack:
            aload 8 /* normalizedBinding */
            invokeinterface org.eclipse.jdt.core.dom.ITypeBinding.getTypeArguments:()[Lorg/eclipse/jdt/core/dom/ITypeBinding;
            astore 9 /* typeArguments */
        start local 9 // org.eclipse.jdt.core.dom.ITypeBinding[] typeArguments
        33: .line 1597
            aload 9 /* typeArguments */
            arraylength
            ifle 46
        34: .line 1598
            aload 2 /* ast */
            aload 7 /* type */
            invokevirtual org.eclipse.jdt.core.dom.AST.newParameterizedType:(Lorg/eclipse/jdt/core/dom/Type;)Lorg/eclipse/jdt/core/dom/ParameterizedType;
            astore 10 /* paramType */
        start local 10 // org.eclipse.jdt.core.dom.ParameterizedType paramType
        35: .line 1599
            aload 10 /* paramType */
            invokevirtual org.eclipse.jdt.core.dom.ParameterizedType.typeArguments:()Ljava/util/List;
            astore 11 /* arguments */
        start local 11 // java.util.List arguments
        36: .line 1600
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        37: goto 44
        38: .line 1601
      StackMap locals: org.eclipse.jdt.core.dom.rewrite.ImportRewrite org.eclipse.jdt.core.dom.ITypeBinding org.eclipse.jdt.core.dom.AST org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext org.eclipse.jdt.core.dom.Type int org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation org.eclipse.jdt.core.dom.Type org.eclipse.jdt.core.dom.ITypeBinding org.eclipse.jdt.core.dom.ITypeBinding[] org.eclipse.jdt.core.dom.ParameterizedType java.util.List int
      StackMap stack:
            aload 9 /* typeArguments */
            iload 12 /* i */
            aaload
            astore 13 /* curr */
        start local 13 // org.eclipse.jdt.core.dom.ITypeBinding curr
        39: .line 1602
            aload 0 /* this */
            aload 13 /* curr */
            iconst_0
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.containsNestedCapture:(Lorg/eclipse/jdt/core/dom/ITypeBinding;Z)Z
            ifeq 42
        40: .line 1603
            aload 11 /* arguments */
            aload 2 /* ast */
            invokevirtual org.eclipse.jdt.core.dom.AST.newWildcardType:()Lorg/eclipse/jdt/core/dom/WildcardType;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        41: .line 1604
            goto 43
        42: .line 1605
      StackMap locals: org.eclipse.jdt.core.dom.ITypeBinding
      StackMap stack:
            aload 11 /* arguments */
            aload 0 /* this */
            aload 13 /* curr */
            aload 2 /* ast */
            aload 3 /* context */
            getstatic org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation.TYPE_ARGUMENT:Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addImport:(Lorg/eclipse/jdt/core/dom/ITypeBinding;Lorg/eclipse/jdt/core/dom/AST;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;)Lorg/eclipse/jdt/core/dom/Type;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 13 // org.eclipse.jdt.core.dom.ITypeBinding curr
        43: .line 1600
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        44: iload 12 /* i */
            aload 9 /* typeArguments */
            arraylength
            if_icmplt 38
        end local 12 // int i
        45: .line 1608
            aload 10 /* paramType */
            astore 7 /* type */
        end local 11 // java.util.List arguments
        end local 10 // org.eclipse.jdt.core.dom.ParameterizedType paramType
        46: .line 1610
      StackMap locals:
      StackMap stack:
            aload 7 /* type */
            areturn
        end local 9 // org.eclipse.jdt.core.dom.ITypeBinding[] typeArguments
        end local 8 // org.eclipse.jdt.core.dom.ITypeBinding normalizedBinding
        end local 7 // org.eclipse.jdt.core.dom.Type type
        end local 6 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation location
        end local 5 // boolean getBase
        end local 4 // org.eclipse.jdt.core.dom.Type currentType
        end local 3 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext context
        end local 2 // org.eclipse.jdt.core.dom.AST ast
        end local 1 // org.eclipse.jdt.core.dom.ITypeBinding binding
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   47     0               this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            0   47     1            binding  Lorg/eclipse/jdt/core/dom/ITypeBinding;
            0   47     2                ast  Lorg/eclipse/jdt/core/dom/AST;
            0   47     3            context  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;
            0   47     4        currentType  Lorg/eclipse/jdt/core/dom/Type;
            0   47     5            getBase  Z
            0   47     6           location  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;
            1   47     7               type  Lorg/eclipse/jdt/core/dom/Type;
            2   47     8  normalizedBinding  Lorg/eclipse/jdt/core/dom/ITypeBinding;
           14   19     9             wcType  Lorg/eclipse/jdt/core/dom/WildcardType;
           15   19    10              bound  Lorg/eclipse/jdt/core/dom/ITypeBinding;
           17   18    11          boundType  Lorg/eclipse/jdt/core/dom/Type;
           22   23     9        elementType  Lorg/eclipse/jdt/core/dom/Type;
           33   47     9      typeArguments  [Lorg/eclipse/jdt/core/dom/ITypeBinding;
           35   46    10          paramType  Lorg/eclipse/jdt/core/dom/ParameterizedType;
           36   46    11          arguments  Ljava/util/List;
           37   45    12                  i  I
           39   43    13               curr  Lorg/eclipse/jdt/core/dom/ITypeBinding;
    MethodParameters:
             Name  Flags
      binding      
      ast          
      context      
      currentType  
      getBase      
      location     

  private org.eclipse.jdt.core.dom.Expression addAnnotation(org.eclipse.jdt.core.dom.AST, java.lang.Object, org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext);
    descriptor: (Lorg/eclipse/jdt/core/dom/AST;Ljava/lang/Object;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;)Lorg/eclipse/jdt/core/dom/Expression;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=4
        start local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
        start local 1 // org.eclipse.jdt.core.dom.AST ast
        start local 2 // java.lang.Object value
        start local 3 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext context
         0: .line 1614
            aload 2 /* value */
            instanceof java.lang.Boolean
            ifeq 2
         1: .line 1615
            aload 1 /* ast */
            aload 2 /* value */
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            invokevirtual org.eclipse.jdt.core.dom.AST.newBooleanLiteral:(Z)Lorg/eclipse/jdt/core/dom/BooleanLiteral;
            areturn
         2: .line 1616
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            instanceof java.lang.Byte
            ifne 4
            aload 2 /* value */
            instanceof java.lang.Short
            ifne 4
            aload 2 /* value */
            instanceof java.lang.Integer
            ifne 4
            aload 2 /* value */
            instanceof java.lang.Long
            ifne 4
         3: .line 1617
            aload 2 /* value */
            instanceof java.lang.Float
            ifne 4
            aload 2 /* value */
            instanceof java.lang.Double
            ifeq 5
         4: .line 1618
      StackMap locals:
      StackMap stack:
            aload 1 /* ast */
            aload 2 /* value */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual org.eclipse.jdt.core.dom.AST.newNumberLiteral:(Ljava/lang/String;)Lorg/eclipse/jdt/core/dom/NumberLiteral;
            areturn
         5: .line 1619
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            instanceof java.lang.Character
            ifeq 9
         6: .line 1620
            aload 1 /* ast */
            invokevirtual org.eclipse.jdt.core.dom.AST.newCharacterLiteral:()Lorg/eclipse/jdt/core/dom/CharacterLiteral;
            astore 4 /* result */
        start local 4 // org.eclipse.jdt.core.dom.CharacterLiteral result
         7: .line 1621
            aload 4 /* result */
            aload 2 /* value */
            checkcast java.lang.Character
            invokevirtual java.lang.Character.charValue:()C
            invokevirtual org.eclipse.jdt.core.dom.CharacterLiteral.setCharValue:(C)V
         8: .line 1622
            aload 4 /* result */
            areturn
        end local 4 // org.eclipse.jdt.core.dom.CharacterLiteral result
         9: .line 1623
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            instanceof org.eclipse.jdt.core.dom.ITypeBinding
            ifeq 13
        10: .line 1624
            aload 1 /* ast */
            invokevirtual org.eclipse.jdt.core.dom.AST.newTypeLiteral:()Lorg/eclipse/jdt/core/dom/TypeLiteral;
            astore 4 /* result */
        start local 4 // org.eclipse.jdt.core.dom.TypeLiteral result
        11: .line 1625
            aload 4 /* result */
            aload 0 /* this */
            aload 2 /* value */
            checkcast org.eclipse.jdt.core.dom.ITypeBinding
            aload 1 /* ast */
            aload 3 /* context */
            getstatic org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation.OTHER:Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addImport:(Lorg/eclipse/jdt/core/dom/ITypeBinding;Lorg/eclipse/jdt/core/dom/AST;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;)Lorg/eclipse/jdt/core/dom/Type;
            invokevirtual org.eclipse.jdt.core.dom.TypeLiteral.setType:(Lorg/eclipse/jdt/core/dom/Type;)V
        12: .line 1626
            aload 4 /* result */
            areturn
        end local 4 // org.eclipse.jdt.core.dom.TypeLiteral result
        13: .line 1627
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            instanceof java.lang.String
            ifeq 17
        14: .line 1628
            aload 1 /* ast */
            invokevirtual org.eclipse.jdt.core.dom.AST.newStringLiteral:()Lorg/eclipse/jdt/core/dom/StringLiteral;
            astore 4 /* result */
        start local 4 // org.eclipse.jdt.core.dom.StringLiteral result
        15: .line 1629
            aload 4 /* result */
            aload 2 /* value */
            checkcast java.lang.String
            invokevirtual org.eclipse.jdt.core.dom.StringLiteral.setLiteralValue:(Ljava/lang/String;)V
        16: .line 1630
            aload 4 /* result */
            areturn
        end local 4 // org.eclipse.jdt.core.dom.StringLiteral result
        17: .line 1631
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            instanceof org.eclipse.jdt.core.dom.IVariableBinding
            ifeq 30
        18: .line 1632
            aload 2 /* value */
            checkcast org.eclipse.jdt.core.dom.IVariableBinding
            astore 4 /* variable */
        start local 4 // org.eclipse.jdt.core.dom.IVariableBinding variable
        19: .line 1634
            aload 1 /* ast */
            invokevirtual org.eclipse.jdt.core.dom.AST.newFieldAccess:()Lorg/eclipse/jdt/core/dom/FieldAccess;
            astore 5 /* result */
        start local 5 // org.eclipse.jdt.core.dom.FieldAccess result
        20: .line 1635
            aload 5 /* result */
            aload 1 /* ast */
            aload 4 /* variable */
            invokeinterface org.eclipse.jdt.core.dom.IVariableBinding.getName:()Ljava/lang/String;
            invokevirtual org.eclipse.jdt.core.dom.AST.newSimpleName:(Ljava/lang/String;)Lorg/eclipse/jdt/core/dom/SimpleName;
            invokevirtual org.eclipse.jdt.core.dom.FieldAccess.setName:(Lorg/eclipse/jdt/core/dom/SimpleName;)V
        21: .line 1636
            aload 0 /* this */
            aload 4 /* variable */
            invokeinterface org.eclipse.jdt.core.dom.IVariableBinding.getType:()Lorg/eclipse/jdt/core/dom/ITypeBinding;
            aload 1 /* ast */
            aload 3 /* context */
            getstatic org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation.OTHER:Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addImport:(Lorg/eclipse/jdt/core/dom/ITypeBinding;Lorg/eclipse/jdt/core/dom/AST;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$TypeLocation;)Lorg/eclipse/jdt/core/dom/Type;
            astore 6 /* type */
        start local 6 // org.eclipse.jdt.core.dom.Type type
        22: .line 1638
            aload 6 /* type */
            instanceof org.eclipse.jdt.core.dom.SimpleType
            ifeq 27
        23: .line 1639
            aload 6 /* type */
            checkcast org.eclipse.jdt.core.dom.SimpleType
            astore 8 /* simpleType */
        start local 8 // org.eclipse.jdt.core.dom.SimpleType simpleType
        24: .line 1640
            aload 8 /* simpleType */
            invokevirtual org.eclipse.jdt.core.dom.SimpleType.getName:()Lorg/eclipse/jdt/core/dom/Name;
            astore 7 /* name */
        start local 7 // org.eclipse.jdt.core.dom.Name name
        25: .line 1642
            aload 8 /* simpleType */
            aload 1 /* ast */
            ldc "a"
            invokevirtual org.eclipse.jdt.core.dom.AST.newSimpleName:(Ljava/lang/String;)Lorg/eclipse/jdt/core/dom/SimpleName;
            invokevirtual org.eclipse.jdt.core.dom.SimpleType.setName:(Lorg/eclipse/jdt/core/dom/Name;)V
        end local 8 // org.eclipse.jdt.core.dom.SimpleType simpleType
        26: .line 1643
            goto 28
        end local 7 // org.eclipse.jdt.core.dom.Name name
        27: .line 1644
      StackMap locals: org.eclipse.jdt.core.dom.IVariableBinding org.eclipse.jdt.core.dom.FieldAccess org.eclipse.jdt.core.dom.Type
      StackMap stack:
            aload 1 /* ast */
            ldc "invalid"
            invokevirtual org.eclipse.jdt.core.dom.AST.newName:(Ljava/lang/String;)Lorg/eclipse/jdt/core/dom/Name;
            astore 7 /* name */
        start local 7 // org.eclipse.jdt.core.dom.Name name
        28: .line 1646
      StackMap locals: org.eclipse.jdt.core.dom.Name
      StackMap stack:
            aload 5 /* result */
            aload 7 /* name */
            invokevirtual org.eclipse.jdt.core.dom.FieldAccess.setExpression:(Lorg/eclipse/jdt/core/dom/Expression;)V
        29: .line 1647
            aload 5 /* result */
            areturn
        end local 7 // org.eclipse.jdt.core.dom.Name name
        end local 6 // org.eclipse.jdt.core.dom.Type type
        end local 5 // org.eclipse.jdt.core.dom.FieldAccess result
        end local 4 // org.eclipse.jdt.core.dom.IVariableBinding variable
        30: .line 1648
      StackMap locals: org.eclipse.jdt.core.dom.rewrite.ImportRewrite org.eclipse.jdt.core.dom.AST java.lang.Object org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext
      StackMap stack:
            aload 2 /* value */
            instanceof org.eclipse.jdt.core.dom.IAnnotationBinding
            ifeq 32
        31: .line 1649
            aload 0 /* this */
            aload 2 /* value */
            checkcast org.eclipse.jdt.core.dom.IAnnotationBinding
            aload 1 /* ast */
            aload 3 /* context */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addAnnotation:(Lorg/eclipse/jdt/core/dom/IAnnotationBinding;Lorg/eclipse/jdt/core/dom/AST;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;)Lorg/eclipse/jdt/core/dom/Annotation;
            areturn
        32: .line 1650
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            instanceof java.lang.Object[]
            ifeq 45
        33: .line 1651
            aload 2 /* value */
            checkcast java.lang.Object[]
            astore 4 /* values */
        start local 4 // java.lang.Object[] values
        34: .line 1652
            aload 4 /* values */
            arraylength
            iconst_1
            if_icmpne 36
        35: .line 1653
            aload 0 /* this */
            aload 1 /* ast */
            aload 4 /* values */
            iconst_0
            aaload
            aload 3 /* context */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addAnnotation:(Lorg/eclipse/jdt/core/dom/AST;Ljava/lang/Object;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;)Lorg/eclipse/jdt/core/dom/Expression;
            areturn
        36: .line 1655
      StackMap locals: java.lang.Object[]
      StackMap stack:
            aload 1 /* ast */
            invokevirtual org.eclipse.jdt.core.dom.AST.newArrayInitializer:()Lorg/eclipse/jdt/core/dom/ArrayInitializer;
            astore 5 /* initializer */
        start local 5 // org.eclipse.jdt.core.dom.ArrayInitializer initializer
        37: .line 1656
            aload 5 /* initializer */
            invokevirtual org.eclipse.jdt.core.dom.ArrayInitializer.expressions:()Ljava/util/List;
            astore 6 /* expressions */
        start local 6 // java.util.List expressions
        38: .line 1657
            aload 4 /* values */
            arraylength
            istore 7 /* size */
        start local 7 // int size
        39: .line 1658
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        40: goto 43
        41: .line 1659
      StackMap locals: org.eclipse.jdt.core.dom.rewrite.ImportRewrite org.eclipse.jdt.core.dom.AST java.lang.Object org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext java.lang.Object[] org.eclipse.jdt.core.dom.ArrayInitializer java.util.List int int
      StackMap stack:
            aload 6 /* expressions */
            aload 0 /* this */
            aload 1 /* ast */
            aload 4 /* values */
            iload 8 /* i */
            aaload
            aload 3 /* context */
            invokevirtual org.eclipse.jdt.core.dom.rewrite.ImportRewrite.addAnnotation:(Lorg/eclipse/jdt/core/dom/AST;Ljava/lang/Object;Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;)Lorg/eclipse/jdt/core/dom/Expression;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        42: .line 1658
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        43: iload 8 /* i */
            iload 7 /* size */
            if_icmplt 41
        end local 8 // int i
        44: .line 1660
            aload 5 /* initializer */
            areturn
        end local 7 // int size
        end local 6 // java.util.List expressions
        end local 5 // org.eclipse.jdt.core.dom.ArrayInitializer initializer
        end local 4 // java.lang.Object[] values
        45: .line 1662
      StackMap locals: org.eclipse.jdt.core.dom.rewrite.ImportRewrite org.eclipse.jdt.core.dom.AST java.lang.Object org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext
      StackMap stack:
            aconst_null
            areturn
        end local 3 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext context
        end local 2 // java.lang.Object value
        end local 1 // org.eclipse.jdt.core.dom.AST ast
        end local 0 // org.eclipse.jdt.core.dom.rewrite.ImportRewrite this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   46     0         this  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite;
            0   46     1          ast  Lorg/eclipse/jdt/core/dom/AST;
            0   46     2        value  Ljava/lang/Object;
            0   46     3      context  Lorg/eclipse/jdt/core/dom/rewrite/ImportRewrite$ImportRewriteContext;
            7    9     4       result  Lorg/eclipse/jdt/core/dom/CharacterLiteral;
           11   13     4       result  Lorg/eclipse/jdt/core/dom/TypeLiteral;
           15   17     4       result  Lorg/eclipse/jdt/core/dom/StringLiteral;
           19   30     4     variable  Lorg/eclipse/jdt/core/dom/IVariableBinding;
           20   30     5       result  Lorg/eclipse/jdt/core/dom/FieldAccess;
           22   30     6         type  Lorg/eclipse/jdt/core/dom/Type;
           25   27     7         name  Lorg/eclipse/jdt/core/dom/Name;
           28   30     7         name  Lorg/eclipse/jdt/core/dom/Name;
           24   26     8   simpleType  Lorg/eclipse/jdt/core/dom/SimpleType;
           34   45     4       values  [Ljava/lang/Object;
           37   45     5  initializer  Lorg/eclipse/jdt/core/dom/ArrayInitializer;
           38   45     6  expressions  Ljava/util/List;
           39   45     7         size  I
           40   44     8            i  I
    MethodParameters:
         Name  Flags
      ast      
      value    
      context  
}
SourceFile: "ImportRewrite.java"
NestMembers:
  org.eclipse.jdt.core.dom.rewrite.ImportRewrite$1  org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext  org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation
InnerClasses:
  public Code = org.eclipse.jdt.core.dom.PrimitiveType$Code of org.eclipse.jdt.core.dom.PrimitiveType
  org.eclipse.jdt.core.dom.rewrite.ImportRewrite$1
  public abstract ImportRewriteContext = org.eclipse.jdt.core.dom.rewrite.ImportRewrite$ImportRewriteContext of org.eclipse.jdt.core.dom.rewrite.ImportRewrite
  public final TypeLocation = org.eclipse.jdt.core.dom.rewrite.ImportRewrite$TypeLocation of org.eclipse.jdt.core.dom.rewrite.ImportRewrite
  public final RewriteResult = org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteAnalyzer$RewriteResult of org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteAnalyzer
  public Builder = org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration$Builder of org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration
  public abstract ImplicitImportIdentification = org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration$ImplicitImportIdentification of org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration
  public abstract ImportContainerSorting = org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration$ImportContainerSorting of org.eclipse.jdt.internal.core.dom.rewrite.imports.ImportRewriteConfiguration