public final class jdk.javadoc.internal.doclets.formats.html.SearchIndexItems
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: jdk.javadoc.internal.doclets.formats.html.SearchIndexItems
  super_class: java.lang.Object
{
  private final java.util.Map<jdk.javadoc.internal.doclets.formats.html.SearchIndexItem$Category, java.util.Set<jdk.javadoc.internal.doclets.formats.html.SearchIndexItem>> items;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItem$Category;Ljava/util/Set<Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItem;>;>;

  private final jdk.javadoc.internal.doclets.toolkit.util.Utils utils;
    descriptor: Ljdk/javadoc/internal/doclets/toolkit/util/Utils;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  public void <init>(jdk.javadoc.internal.doclets.toolkit.util.Utils);
    descriptor: (Ljdk/javadoc/internal/doclets/toolkit/util/Utils;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.javadoc.internal.doclets.formats.html.SearchIndexItems this
        start local 1 // jdk.javadoc.internal.doclets.toolkit.util.Utils utils
         0: .line 53
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 50
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield jdk.javadoc.internal.doclets.formats.html.SearchIndexItems.items:Ljava/util/Map;
         2: .line 54
            aload 0 /* this */
            aload 1 /* utils */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.javadoc.internal.doclets.toolkit.util.Utils
            putfield jdk.javadoc.internal.doclets.formats.html.SearchIndexItems.utils:Ljdk/javadoc/internal/doclets/toolkit/util/Utils;
         3: .line 55
            return
        end local 1 // jdk.javadoc.internal.doclets.toolkit.util.Utils utils
        end local 0 // jdk.javadoc.internal.doclets.formats.html.SearchIndexItems this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItems;
            0    4     1  utils  Ljdk/javadoc/internal/doclets/toolkit/util/Utils;
    MethodParameters:
       Name  Flags
      utils  

  public void add(jdk.javadoc.internal.doclets.formats.html.SearchIndexItem);
    descriptor: (Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItem;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.javadoc.internal.doclets.formats.html.SearchIndexItems this
        start local 1 // jdk.javadoc.internal.doclets.formats.html.SearchIndexItem item
         0: .line 64
            aload 1 /* item */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 65
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.formats.html.SearchIndexItems.items:Ljava/util/Map;
            aload 1 /* item */
            invokevirtual jdk.javadoc.internal.doclets.formats.html.SearchIndexItem.getCategory:()Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItem$Category;
            aload 0 /* this */
            invokedynamic apply(Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItems;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/javadoc/internal/doclets/formats/html/SearchIndexItems.newSetForCategory(Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItem$Category;)Ljava/util/Set; (7)
                  (Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItem$Category;)Ljava/util/Set;
            invokeinterface java.util.Map.computeIfAbsent:(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
            checkcast java.util.Set
         2: .line 66
            aload 1 /* item */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         3: .line 67
            return
        end local 1 // jdk.javadoc.internal.doclets.formats.html.SearchIndexItem item
        end local 0 // jdk.javadoc.internal.doclets.formats.html.SearchIndexItems this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItems;
            0    4     1  item  Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItem;
    MethodParameters:
      Name  Flags
      item  

  private java.util.Set<jdk.javadoc.internal.doclets.formats.html.SearchIndexItem> newSetForCategory(jdk.javadoc.internal.doclets.formats.html.SearchIndexItem$Category);
    descriptor: (Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItem$Category;)Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.javadoc.internal.doclets.formats.html.SearchIndexItems this
        start local 1 // jdk.javadoc.internal.doclets.formats.html.SearchIndexItem$Category category
         0: .line 71
            aload 1 /* category */
            getstatic jdk.javadoc.internal.doclets.formats.html.SearchIndexItem$Category.TYPES:Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItem$Category;
            if_acmpne 3
         1: .line 72
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.formats.html.SearchIndexItems.utils:Ljdk/javadoc/internal/doclets/toolkit/util/Utils;
            getfield jdk.javadoc.internal.doclets.toolkit.util.Utils.comparators:Ljdk/javadoc/internal/doclets/toolkit/util/Comparators;
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Comparators.makeTypeSearchIndexComparator:()Ljava/util/Comparator;
            astore 2 /* cmp */
        start local 2 // java.util.Comparator cmp
         2: .line 73
            goto 4
        end local 2 // java.util.Comparator cmp
         3: .line 74
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.formats.html.SearchIndexItems.utils:Ljdk/javadoc/internal/doclets/toolkit/util/Utils;
            getfield jdk.javadoc.internal.doclets.toolkit.util.Utils.comparators:Ljdk/javadoc/internal/doclets/toolkit/util/Comparators;
            invokevirtual jdk.javadoc.internal.doclets.toolkit.util.Comparators.makeGenericSearchIndexComparator:()Ljava/util/Comparator;
            astore 2 /* cmp */
        start local 2 // java.util.Comparator cmp
         4: .line 76
      StackMap locals: java.util.Comparator
      StackMap stack:
            new java.util.TreeSet
            dup
            aload 2 /* cmp */
            invokespecial java.util.TreeSet.<init>:(Ljava/util/Comparator;)V
            areturn
        end local 2 // java.util.Comparator cmp
        end local 1 // jdk.javadoc.internal.doclets.formats.html.SearchIndexItem$Category category
        end local 0 // jdk.javadoc.internal.doclets.formats.html.SearchIndexItems this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItems;
            0    5     1  category  Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItem$Category;
            2    3     2       cmp  Ljava/util/Comparator<Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItem;>;
            4    5     2       cmp  Ljava/util/Comparator<Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItem;>;
    Signature: (Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItem$Category;)Ljava/util/Set<Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItem;>;
    MethodParameters:
          Name  Flags
      category  

  public boolean containsAnyOfCategories(jdk.javadoc.internal.doclets.formats.html.SearchIndexItem$Category, jdk.javadoc.internal.doclets.formats.html.SearchIndexItem$Category[]);
    descriptor: (Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItem$Category;[Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItem$Category;)Z
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.javadoc.internal.doclets.formats.html.SearchIndexItems this
        start local 1 // jdk.javadoc.internal.doclets.formats.html.SearchIndexItem$Category firstCategory
        start local 2 // jdk.javadoc.internal.doclets.formats.html.SearchIndexItem$Category[] otherCategories
         0: .line 101
            aload 0 /* this */
            aload 1 /* firstCategory */
            aload 2 /* otherCategories */
            invokevirtual jdk.javadoc.internal.doclets.formats.html.SearchIndexItems.itemsOfCategories:(Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItem$Category;[Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItem$Category;)Ljava/util/stream/Stream;
         1: .line 102
            invokeinterface java.util.stream.Stream.findAny:()Ljava/util/Optional;
         2: .line 103
            invokevirtual java.util.Optional.isPresent:()Z
         3: .line 101
            ireturn
        end local 2 // jdk.javadoc.internal.doclets.formats.html.SearchIndexItem$Category[] otherCategories
        end local 1 // jdk.javadoc.internal.doclets.formats.html.SearchIndexItem$Category firstCategory
        end local 0 // jdk.javadoc.internal.doclets.formats.html.SearchIndexItems this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItems;
            0    4     1    firstCategory  Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItem$Category;
            0    4     2  otherCategories  [Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItem$Category;
    MethodParameters:
                 Name  Flags
      firstCategory    
      otherCategories  

  public java.util.stream.Stream<jdk.javadoc.internal.doclets.formats.html.SearchIndexItem> itemsOfCategories(jdk.javadoc.internal.doclets.formats.html.SearchIndexItem$Category, jdk.javadoc.internal.doclets.formats.html.SearchIndexItem$Category[]);
    descriptor: (Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItem$Category;[Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItem$Category;)Ljava/util/stream/Stream;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.javadoc.internal.doclets.formats.html.SearchIndexItems this
        start local 1 // jdk.javadoc.internal.doclets.formats.html.SearchIndexItem$Category firstCategory
        start local 2 // jdk.javadoc.internal.doclets.formats.html.SearchIndexItem$Category[] otherCategories
         0: .line 127
            aload 1 /* firstCategory */
            aload 2 /* otherCategories */
            invokestatic jdk.javadoc.internal.doclets.formats.html.SearchIndexItems.concatenatedStreamOf:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/util/stream/Stream;
         1: .line 128
            invokeinterface java.util.stream.Stream.distinct:()Ljava/util/stream/Stream;
         2: .line 129
            aload 0 /* this */
            invokedynamic apply(Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItems;)Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  jdk/javadoc/internal/doclets/formats/html/SearchIndexItems.itemsOf(Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItem$Category;)Ljava/util/stream/Stream; (7)
                  (Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItem$Category;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.flatMap:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         3: .line 127
            areturn
        end local 2 // jdk.javadoc.internal.doclets.formats.html.SearchIndexItem$Category[] otherCategories
        end local 1 // jdk.javadoc.internal.doclets.formats.html.SearchIndexItem$Category firstCategory
        end local 0 // jdk.javadoc.internal.doclets.formats.html.SearchIndexItems this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0             this  Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItems;
            0    4     1    firstCategory  Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItem$Category;
            0    4     2  otherCategories  [Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItem$Category;
    Signature: (Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItem$Category;[Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItem$Category;)Ljava/util/stream/Stream<Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItem;>;
    MethodParameters:
                 Name  Flags
      firstCategory    
      otherCategories  

  private java.util.stream.Stream<jdk.javadoc.internal.doclets.formats.html.SearchIndexItem> itemsOf(jdk.javadoc.internal.doclets.formats.html.SearchIndexItem$Category);
    descriptor: (Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItem$Category;)Ljava/util/stream/Stream;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.javadoc.internal.doclets.formats.html.SearchIndexItems this
        start local 1 // jdk.javadoc.internal.doclets.formats.html.SearchIndexItem$Category cat
         0: .line 133
            aload 1 /* cat */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 134
            aload 0 /* this */
            getfield jdk.javadoc.internal.doclets.formats.html.SearchIndexItems.items:Ljava/util/Map;
            aload 1 /* cat */
            invokestatic java.util.Set.of:()Ljava/util/Set;
            invokeinterface java.util.Map.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Set
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
            areturn
        end local 1 // jdk.javadoc.internal.doclets.formats.html.SearchIndexItem$Category cat
        end local 0 // jdk.javadoc.internal.doclets.formats.html.SearchIndexItems this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItems;
            0    2     1   cat  Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItem$Category;
    Signature: (Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItem$Category;)Ljava/util/stream/Stream<Ljdk/javadoc/internal/doclets/formats/html/SearchIndexItem;>;
    MethodParameters:
      Name  Flags
      cat   

  private static <T> java.util.stream.Stream<T> concatenatedStreamOf(T, T[]);
    descriptor: (Ljava/lang/Object;[Ljava/lang/Object;)Ljava/util/stream/Stream;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Object first
        start local 1 // java.lang.Object[] remaining
         0: .line 156
            aload 0 /* first */
            invokestatic java.util.stream.Stream.of:(Ljava/lang/Object;)Ljava/util/stream/Stream;
            aload 1 /* remaining */
            invokestatic java.util.stream.Stream.of:([Ljava/lang/Object;)Ljava/util/stream/Stream;
            invokestatic java.util.stream.Stream.concat:(Ljava/util/stream/Stream;Ljava/util/stream/Stream;)Ljava/util/stream/Stream;
            areturn
        end local 1 // java.lang.Object[] remaining
        end local 0 // java.lang.Object first
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0      first  TT;
            0    1     1  remaining  [Ljava/lang/Object;
    Signature: <T:Ljava/lang/Object;>(TT;[TT;)Ljava/util/stream/Stream<TT;>;
    MethodParameters:
           Name  Flags
      first      
      remaining  
}
SourceFile: "SearchIndexItems.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  final Category = jdk.javadoc.internal.doclets.formats.html.SearchIndexItem$Category of jdk.javadoc.internal.doclets.formats.html.SearchIndexItem