abstract class jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator implements java.util.Comparator<javax.lang.model.element.Element>
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator
  super_class: java.lang.Object
{
  final jdk.javadoc.internal.doclets.toolkit.util.Comparators this$0;
    descriptor: Ljdk/javadoc/internal/doclets/toolkit/util/Comparators;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$javax$lang$model$element$ElementKind;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  public void <init>(jdk.javadoc.internal.doclets.toolkit.util.Comparators);
    descriptor: (Ljdk/javadoc/internal/doclets/toolkit/util/Comparators;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator this
         0: .line 371
            aload 0 /* this */
            aload 1
            putfield jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator.this$0:Ljdk/javadoc/internal/doclets/toolkit/util/Comparators;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/javadoc/internal/doclets/toolkit/util/Comparators$ElementComparator;
    MethodParameters:
        Name  Flags
      this$0  final

  protected int compareParameters(boolean, java.util.List<? extends javax.lang.model.element.VariableElement>, java.util.List<? extends javax.lang.model.element.VariableElement>);
    descriptor: (ZLjava/util/List;Ljava/util/List;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator this
        start local 1 // boolean caseSensitive
        start local 2 // java.util.List params1
        start local 3 // java.util.List params2
         0: .line 384
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator.this$0:Ljdk/javadoc/internal/doclets/toolkit/util/Comparators;
            getfield jdk.javadoc.internal.doclets.toolkit.util.Comparators.utils:Ljdk/javadoc/internal/doclets/toolkit/util/Utils;
            iload 1 /* caseSensitive */
            aload 0 /* this */
            aload 2 /* params1 */
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator.getParametersAsString:(Ljava/util/List;)Ljava/lang/String;
         1: .line 385
            aload 0 /* this */
            aload 3 /* params2 */
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator.getParametersAsString:(Ljava/util/List;)Ljava/lang/String;
         2: .line 384
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Utils.compareStrings:(ZLjava/lang/String;Ljava/lang/String;)I
            ireturn
        end local 3 // java.util.List params2
        end local 2 // java.util.List params1
        end local 1 // boolean caseSensitive
        end local 0 // jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Ljdk/javadoc/internal/doclets/toolkit/util/Comparators$ElementComparator;
            0    3     1  caseSensitive  Z
            0    3     2        params1  Ljava/util/List<+Ljavax/lang/model/element/VariableElement;>;
            0    3     3        params2  Ljava/util/List<+Ljavax/lang/model/element/VariableElement;>;
    Signature: (ZLjava/util/List<+Ljavax/lang/model/element/VariableElement;>;Ljava/util/List<+Ljavax/lang/model/element/VariableElement;>;)I
    MethodParameters:
               Name  Flags
      caseSensitive  
      params1        
      params2        

  java.lang.String getParametersAsString(java.util.List<? extends javax.lang.model.element.VariableElement>);
    descriptor: (Ljava/util/List;)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator this
        start local 1 // java.util.List params
         0: .line 389
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* sb */
        start local 2 // java.lang.StringBuilder sb
         1: .line 390
            aload 1 /* params */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator java.util.List java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast javax.lang.model.element.VariableElement
            astore 3 /* param */
        start local 3 // javax.lang.model.element.VariableElement param
         3: .line 391
            aload 3 /* param */
            invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
            astore 5 /* t */
        start local 5 // javax.lang.model.type.TypeMirror t
         4: .line 394
            aload 2 /* sb */
            aload 0 /* this */
            aload 5 /* t */
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator.getTypeCode:(Ljavax/lang/model/type/TypeMirror;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "-"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 5 /* t */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "-"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 5 // javax.lang.model.type.TypeMirror t
        end local 3 // javax.lang.model.element.VariableElement param
         5: .line 390
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 396
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder sb
        end local 1 // java.util.List params
        end local 0 // jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Ljdk/javadoc/internal/doclets/toolkit/util/Comparators$ElementComparator;
            0    7     1  params  Ljava/util/List<+Ljavax/lang/model/element/VariableElement;>;
            1    7     2      sb  Ljava/lang/StringBuilder;
            3    5     3   param  Ljavax/lang/model/element/VariableElement;
            4    5     5       t  Ljavax/lang/model/type/TypeMirror;
    Signature: (Ljava/util/List<+Ljavax/lang/model/element/VariableElement;>;)Ljava/lang/String;
    MethodParameters:
        Name  Flags
      params  

  private java.lang.String getTypeCode(javax.lang.model.type.TypeMirror);
    descriptor: (Ljavax/lang/model/type/TypeMirror;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator this
        start local 1 // javax.lang.model.type.TypeMirror t
         0: .line 400
            new jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator$1
            dup
            aload 0 /* this */
            invokespecial jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator$1.<init>:(Ljdk/javadoc/internal/doclets/toolkit/util/Comparators$ElementComparator;)V
         1: .line 415
            aload 1 /* t */
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator$1.visit:(Ljavax/lang/model/type/TypeMirror;)Ljava/lang/Object;
            checkcast java.lang.String
         2: .line 400
            areturn
        end local 1 // javax.lang.model.type.TypeMirror t
        end local 0 // jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/javadoc/internal/doclets/toolkit/util/Comparators$ElementComparator;
            0    3     1     t  Ljavax/lang/model/type/TypeMirror;
    MethodParameters:
      Name  Flags
      t     

  protected int compareNames(javax.lang.model.element.Element, javax.lang.model.element.Element);
    descriptor: (Ljavax/lang/model/element/Element;Ljavax/lang/model/element/Element;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator this
        start local 1 // javax.lang.model.element.Element e1
        start local 2 // javax.lang.model.element.Element e2
         0: .line 427
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator.this$0:Ljdk/javadoc/internal/doclets/toolkit/util/Comparators;
            getfield jdk.javadoc.internal.doclets.toolkit.util.Comparators.utils:Ljdk/javadoc/internal/doclets/toolkit/util/Utils;
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator.this$0:Ljdk/javadoc/internal/doclets/toolkit/util/Comparators;
            getfield jdk.javadoc.internal.doclets.toolkit.util.Comparators.utils:Ljdk/javadoc/internal/doclets/toolkit/util/Utils;
            aload 1 /* e1 */
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Utils.getSimpleName:(Ljavax/lang/model/element/Element;)Ljava/lang/String;
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator.this$0:Ljdk/javadoc/internal/doclets/toolkit/util/Comparators;
            getfield jdk.javadoc.internal.doclets.toolkit.util.Comparators.utils:Ljdk/javadoc/internal/doclets/toolkit/util/Utils;
            aload 2 /* e2 */
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Utils.getSimpleName:(Ljavax/lang/model/element/Element;)Ljava/lang/String;
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Utils.compareStrings:(Ljava/lang/String;Ljava/lang/String;)I
            ireturn
        end local 2 // javax.lang.model.element.Element e2
        end local 1 // javax.lang.model.element.Element e1
        end local 0 // jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/javadoc/internal/doclets/toolkit/util/Comparators$ElementComparator;
            0    1     1    e1  Ljavax/lang/model/element/Element;
            0    1     2    e2  Ljavax/lang/model/element/Element;
    MethodParameters:
      Name  Flags
      e1    
      e2    

  protected int compareFullyQualifiedNames(javax.lang.model.element.Element, javax.lang.model.element.Element);
    descriptor: (Ljavax/lang/model/element/Element;Ljavax/lang/model/element/Element;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator this
        start local 1 // javax.lang.model.element.Element e1
        start local 2 // javax.lang.model.element.Element e2
         0: .line 439
            aload 0 /* this */
            aload 1 /* e1 */
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator.getFullyQualifiedName:(Ljavax/lang/model/element/Element;)Ljava/lang/String;
            astore 3 /* thisElement */
        start local 3 // java.lang.String thisElement
         1: .line 440
            aload 0 /* this */
            aload 2 /* e2 */
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator.getFullyQualifiedName:(Ljavax/lang/model/element/Element;)Ljava/lang/String;
            astore 4 /* thatElement */
        start local 4 // java.lang.String thatElement
         2: .line 441
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator.this$0:Ljdk/javadoc/internal/doclets/toolkit/util/Comparators;
            getfield jdk.javadoc.internal.doclets.toolkit.util.Comparators.utils:Ljdk/javadoc/internal/doclets/toolkit/util/Utils;
            aload 3 /* thisElement */
            aload 4 /* thatElement */
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Utils.compareStrings:(Ljava/lang/String;Ljava/lang/String;)I
            ireturn
        end local 4 // java.lang.String thatElement
        end local 3 // java.lang.String thisElement
        end local 2 // javax.lang.model.element.Element e2
        end local 1 // javax.lang.model.element.Element e1
        end local 0 // jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Ljdk/javadoc/internal/doclets/toolkit/util/Comparators$ElementComparator;
            0    3     1           e1  Ljavax/lang/model/element/Element;
            0    3     2           e2  Ljavax/lang/model/element/Element;
            1    3     3  thisElement  Ljava/lang/String;
            2    3     4  thatElement  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      e1    
      e2    

  protected int compareModuleNames(javax.lang.model.element.Element, javax.lang.model.element.Element);
    descriptor: (Ljavax/lang/model/element/Element;Ljavax/lang/model/element/Element;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator this
        start local 1 // javax.lang.model.element.Element e1
        start local 2 // javax.lang.model.element.Element e2
         0: .line 452
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator.this$0:Ljdk/javadoc/internal/doclets/toolkit/util/Comparators;
            getfield jdk.javadoc.internal.doclets.toolkit.util.Comparators.utils:Ljdk/javadoc/internal/doclets/toolkit/util/Utils;
            getfield jdk.javadoc.internal.doclets.toolkit.util.Utils.elementUtils:Ljavax/lang/model/util/Elements;
            aload 1 /* e1 */
            invokeinterface javax.lang.model.util.Elements.getModuleOf:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/ModuleElement;
            astore 3 /* m1 */
        start local 3 // javax.lang.model.element.ModuleElement m1
         1: .line 453
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator.this$0:Ljdk/javadoc/internal/doclets/toolkit/util/Comparators;
            getfield jdk.javadoc.internal.doclets.toolkit.util.Comparators.utils:Ljdk/javadoc/internal/doclets/toolkit/util/Utils;
            getfield jdk.javadoc.internal.doclets.toolkit.util.Utils.elementUtils:Ljavax/lang/model/util/Elements;
            aload 2 /* e2 */
            invokeinterface javax.lang.model.util.Elements.getModuleOf:(Ljavax/lang/model/element/Element;)Ljavax/lang/model/element/ModuleElement;
            astore 4 /* m2 */
        start local 4 // javax.lang.model.element.ModuleElement m2
         2: .line 454
            aload 3 /* m1 */
            ifnull 4
            aload 4 /* m2 */
            ifnull 4
         3: .line 455
            aload 0 /* this */
            aload 3 /* m1 */
            aload 4 /* m2 */
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator.compareFullyQualifiedNames:(Ljavax/lang/model/element/Element;Ljavax/lang/model/element/Element;)I
            ireturn
         4: .line 456
      StackMap locals: javax.lang.model.element.ModuleElement javax.lang.model.element.ModuleElement
      StackMap stack:
            aload 3 /* m1 */
            ifnull 6
         5: .line 457
            iconst_1
            ireturn
         6: .line 458
      StackMap locals:
      StackMap stack:
            aload 4 /* m2 */
            ifnull 8
         7: .line 459
            iconst_m1
            ireturn
         8: .line 461
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 4 // javax.lang.model.element.ModuleElement m2
        end local 3 // javax.lang.model.element.ModuleElement m1
        end local 2 // javax.lang.model.element.Element e2
        end local 1 // javax.lang.model.element.Element e1
        end local 0 // jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljdk/javadoc/internal/doclets/toolkit/util/Comparators$ElementComparator;
            0    9     1    e1  Ljavax/lang/model/element/Element;
            0    9     2    e2  Ljavax/lang/model/element/Element;
            1    9     3    m1  Ljavax/lang/model/element/ModuleElement;
            2    9     4    m2  Ljavax/lang/model/element/ModuleElement;
    MethodParameters:
      Name  Flags
      e1    
      e2    

  protected int compareParameters(javax.lang.model.element.Element, javax.lang.model.element.Element);
    descriptor: (Ljavax/lang/model/element/Element;Ljavax/lang/model/element/Element;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator this
        start local 1 // javax.lang.model.element.Element e1
        start local 2 // javax.lang.model.element.Element e2
         0: .line 472
            iconst_0
            istore 3 /* result */
        start local 3 // int result
         1: .line 473
            aload 0 /* this */
            aload 1 /* e1 */
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator.hasParameters:(Ljavax/lang/model/element/Element;)Z
            ifeq 8
            aload 0 /* this */
            aload 2 /* e2 */
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator.hasParameters:(Ljavax/lang/model/element/Element;)Z
            ifeq 8
         2: .line 474
            aload 1 /* e1 */
            checkcast javax.lang.model.element.ExecutableElement
            invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
            astore 4 /* parameters1 */
        start local 4 // java.util.List parameters1
         3: .line 475
            aload 2 /* e2 */
            checkcast javax.lang.model.element.ExecutableElement
            invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
            astore 5 /* parameters2 */
        start local 5 // java.util.List parameters2
         4: .line 476
            aload 0 /* this */
            iconst_0
            aload 4 /* parameters1 */
            aload 5 /* parameters2 */
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator.compareParameters:(ZLjava/util/List;Ljava/util/List;)I
            istore 3 /* result */
         5: .line 477
            iload 3 /* result */
            ifeq 7
         6: .line 478
            iload 3 /* result */
            ireturn
         7: .line 480
      StackMap locals: int java.util.List java.util.List
      StackMap stack:
            aload 0 /* this */
            iconst_1
            aload 4 /* parameters1 */
            aload 5 /* parameters2 */
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator.compareParameters:(ZLjava/util/List;Ljava/util/List;)I
            istore 3 /* result */
        end local 5 // java.util.List parameters2
        end local 4 // java.util.List parameters1
         8: .line 482
      StackMap locals:
      StackMap stack:
            iload 3 /* result */
            ireturn
        end local 3 // int result
        end local 2 // javax.lang.model.element.Element e2
        end local 1 // javax.lang.model.element.Element e1
        end local 0 // jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Ljdk/javadoc/internal/doclets/toolkit/util/Comparators$ElementComparator;
            0    9     1           e1  Ljavax/lang/model/element/Element;
            0    9     2           e2  Ljavax/lang/model/element/Element;
            1    9     3       result  I
            3    8     4  parameters1  Ljava/util/List<+Ljavax/lang/model/element/VariableElement;>;
            4    8     5  parameters2  Ljava/util/List<+Ljavax/lang/model/element/VariableElement;>;
    MethodParameters:
      Name  Flags
      e1    
      e2    

  protected int compareElementKinds(javax.lang.model.element.Element, javax.lang.model.element.Element);
    descriptor: (Ljavax/lang/model/element/Element;Ljavax/lang/model/element/Element;)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator this
        start local 1 // javax.lang.model.element.Element e1
        start local 2 // javax.lang.model.element.Element e2
         0: .line 493
            aload 0 /* this */
            aload 1 /* e1 */
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator.getKindIndex:(Ljavax/lang/model/element/Element;)I
            aload 0 /* this */
            aload 2 /* e2 */
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator.getKindIndex:(Ljavax/lang/model/element/Element;)I
            invokestatic java.lang.Integer.compare:(II)I
            ireturn
        end local 2 // javax.lang.model.element.Element e2
        end local 1 // javax.lang.model.element.Element e1
        end local 0 // jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/javadoc/internal/doclets/toolkit/util/Comparators$ElementComparator;
            0    1     1    e1  Ljavax/lang/model/element/Element;
            0    1     2    e2  Ljavax/lang/model/element/Element;
    MethodParameters:
      Name  Flags
      e1    
      e2    

  private int getKindIndex(javax.lang.model.element.Element);
    descriptor: (Ljavax/lang/model/element/Element;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=14, locals=2, args_size=2
        start local 0 // jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator this
        start local 1 // javax.lang.model.element.Element e
         0: .line 497
            invokestatic jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator.$SWITCH_TABLE$javax$lang$model$element$ElementKind:()[I
            aload 1 /* e */
            invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            iaload
            tableswitch { // 1 - 19
                    1: 2
                    2: 4
                    3: 3
                    4: 8
                    5: 7
                    6: 5
                    7: 9
                    8: 12
                    9: 12
                   10: 12
                   11: 11
                   12: 10
                   13: 12
                   14: 12
                   15: 12
                   16: 12
                   17: 12
                   18: 1
                   19: 6
              default: 12
          }
         1: .line 498
      StackMap locals:
      StackMap stack:
            iconst_0
            goto 13
         2: .line 499
      StackMap locals:
      StackMap stack:
            iconst_1
            goto 13
         3: .line 500
      StackMap locals:
      StackMap stack:
            iconst_2
            goto 13
         4: .line 501
      StackMap locals:
      StackMap stack:
            iconst_3
            goto 13
         5: .line 502
      StackMap locals:
      StackMap stack:
            iconst_4
            goto 13
         6: .line 503
      StackMap locals:
      StackMap stack:
            iconst_5
            goto 13
         7: .line 504
      StackMap locals:
      StackMap stack:
            bipush 6
            goto 13
         8: .line 505
      StackMap locals:
      StackMap stack:
            bipush 7
            goto 13
         9: .line 506
      StackMap locals:
      StackMap stack:
            bipush 8
            goto 13
        10: .line 507
      StackMap locals:
      StackMap stack:
            bipush 9
            goto 13
        11: .line 508
      StackMap locals:
      StackMap stack:
            bipush 10
            goto 13
        12: .line 509
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            aload 1 /* e */
            invokeinterface javax.lang.model.element.Element.getKind:()Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 497
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 1 // javax.lang.model.element.Element e
        end local 0 // jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Ljdk/javadoc/internal/doclets/toolkit/util/Comparators$ElementComparator;
            0   14     1     e  Ljavax/lang/model/element/Element;
    MethodParameters:
      Name  Flags
      e     

  boolean hasParameters(javax.lang.model.element.Element);
    descriptor: (Ljavax/lang/model/element/Element;)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator this
        start local 1 // javax.lang.model.element.Element e
         0: .line 515
            new jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator$2
            dup
            aload 0 /* this */
            invokespecial jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator$2.<init>:(Ljdk/javadoc/internal/doclets/toolkit/util/Comparators$ElementComparator;)V
         1: .line 526
            aload 1 /* e */
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator$2.visit:(Ljavax/lang/model/element/Element;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
         2: .line 515
            ireturn
        end local 1 // javax.lang.model.element.Element e
        end local 0 // jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/javadoc/internal/doclets/toolkit/util/Comparators$ElementComparator;
            0    3     1     e  Ljavax/lang/model/element/Element;
    MethodParameters:
      Name  Flags
      e     

  private java.lang.String getFullyQualifiedName(javax.lang.model.element.Element);
    descriptor: (Ljavax/lang/model/element/Element;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator this
        start local 1 // javax.lang.model.element.Element e
         0: .line 537
            new jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator$3
            dup
            aload 0 /* this */
            invokespecial jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator$3.<init>:(Ljdk/javadoc/internal/doclets/toolkit/util/Comparators$ElementComparator;)V
         1: .line 565
            aload 1 /* e */
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator$3.visit:(Ljavax/lang/model/element/Element;)Ljava/lang/Object;
            checkcast java.lang.String
         2: .line 537
            areturn
        end local 1 // javax.lang.model.element.Element e
        end local 0 // jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/javadoc/internal/doclets/toolkit/util/Comparators$ElementComparator;
            0    3     1     e  Ljavax/lang/model/element/Element;
    MethodParameters:
      Name  Flags
      e     

  static int[] $SWITCH_TABLE$javax$lang$model$element$ElementKind();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 370
            getstatic jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator.$SWITCH_TABLE$javax$lang$model$element$ElementKind:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic javax.lang.model.element.ElementKind.values:()[Ljavax/lang/model/element/ElementKind;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic javax.lang.model.element.ElementKind.ANNOTATION_TYPE:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            iconst_4
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic javax.lang.model.element.ElementKind.BINDING_VARIABLE:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 21
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic javax.lang.model.element.ElementKind.CLASS:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            iconst_3
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic javax.lang.model.element.ElementKind.CONSTRUCTOR:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 12
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic javax.lang.model.element.ElementKind.ENUM:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            iconst_2
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic javax.lang.model.element.ElementKind.ENUM_CONSTANT:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 6
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic javax.lang.model.element.ElementKind.EXCEPTION_PARAMETER:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 10
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic javax.lang.model.element.ElementKind.FIELD:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 7
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic javax.lang.model.element.ElementKind.INSTANCE_INIT:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 14
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic javax.lang.model.element.ElementKind.INTERFACE:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            iconst_5
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic javax.lang.model.element.ElementKind.LOCAL_VARIABLE:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 9
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            getstatic javax.lang.model.element.ElementKind.METHOD:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 11
            iastore
        36: goto 38
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        37: pop
      StackMap locals:
      StackMap stack:
        38: aload 0
            getstatic javax.lang.model.element.ElementKind.MODULE:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 18
            iastore
        39: goto 41
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        40: pop
      StackMap locals:
      StackMap stack:
        41: aload 0
            getstatic javax.lang.model.element.ElementKind.OTHER:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 16
            iastore
        42: goto 44
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        43: pop
      StackMap locals:
      StackMap stack:
        44: aload 0
            getstatic javax.lang.model.element.ElementKind.PACKAGE:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            iconst_1
            iastore
        45: goto 47
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        46: pop
      StackMap locals:
      StackMap stack:
        47: aload 0
            getstatic javax.lang.model.element.ElementKind.PARAMETER:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 8
            iastore
        48: goto 50
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        49: pop
      StackMap locals:
      StackMap stack:
        50: aload 0
            getstatic javax.lang.model.element.ElementKind.RECORD:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 19
            iastore
        51: goto 53
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        52: pop
      StackMap locals:
      StackMap stack:
        53: aload 0
            getstatic javax.lang.model.element.ElementKind.RECORD_COMPONENT:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 20
            iastore
        54: goto 56
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        55: pop
      StackMap locals:
      StackMap stack:
        56: aload 0
            getstatic javax.lang.model.element.ElementKind.RESOURCE_VARIABLE:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 17
            iastore
        57: goto 59
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        58: pop
      StackMap locals:
      StackMap stack:
        59: aload 0
            getstatic javax.lang.model.element.ElementKind.STATIC_INIT:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 13
            iastore
        60: goto 62
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        61: pop
      StackMap locals:
      StackMap stack:
        62: aload 0
            getstatic javax.lang.model.element.ElementKind.TYPE_PARAMETER:Ljavax/lang/model/element/ElementKind;
            invokevirtual javax.lang.model.element.ElementKind.ordinal:()I
            bipush 15
            iastore
        63: goto 65
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        64: pop
      StackMap locals:
      StackMap stack:
        65: aload 0
            dup
            putstatic jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator.$SWITCH_TABLE$javax$lang$model$element$ElementKind:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
          35    36      37  Class java.lang.NoSuchFieldError
          38    39      40  Class java.lang.NoSuchFieldError
          41    42      43  Class java.lang.NoSuchFieldError
          44    45      46  Class java.lang.NoSuchFieldError
          47    48      49  Class java.lang.NoSuchFieldError
          50    51      52  Class java.lang.NoSuchFieldError
          53    54      55  Class java.lang.NoSuchFieldError
          56    57      58  Class java.lang.NoSuchFieldError
          59    60      61  Class java.lang.NoSuchFieldError
          62    63      64  Class java.lang.NoSuchFieldError

  static jdk.javadoc.internal.doclets.toolkit.util.Comparators access$1(jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator);
    descriptor: (Ljdk/javadoc/internal/doclets/toolkit/util/Comparators$ElementComparator;)Ljdk/javadoc/internal/doclets/toolkit/util/Comparators;
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 370
            aload 0
            getfield jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator.this$0:Ljdk/javadoc/internal/doclets/toolkit/util/Comparators;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
Signature: Ljava/lang/Object;Ljava/util/Comparator<Ljavax/lang/model/element/Element;>;
SourceFile: "Comparators.java"
NestHost: jdk.javadoc.internal.doclets.toolkit.util.Comparators
InnerClasses:
  private abstract ElementComparator = jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator of jdk.javadoc.internal.doclets.toolkit.util.Comparators
  jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator$1
  jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator$2
  jdk.javadoc.internal.doclets.toolkit.util.Comparators$ElementComparator$3