final class com.google.common.collect.SortedLists
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.google.common.collect.SortedLists
  super_class: java.lang.Object
{
  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.collect.SortedLists this
         0: .line 39
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.google.common.collect.SortedLists this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/collect/SortedLists;

  public static <E extends java.lang.Comparable> int binarySearch(java.util.List<? extends E>, E, com.google.common.collect.SortedLists$KeyPresentBehavior, com.google.common.collect.SortedLists$KeyAbsentBehavior);
    descriptor: (Ljava/util/List;Ljava/lang/Comparable;Lcom/google/common/collect/SortedLists$KeyPresentBehavior;Lcom/google/common/collect/SortedLists$KeyAbsentBehavior;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // java.util.List list
        start local 1 // java.lang.Comparable e
        start local 2 // com.google.common.collect.SortedLists$KeyPresentBehavior presentBehavior
        start local 3 // com.google.common.collect.SortedLists$KeyAbsentBehavior absentBehavior
         0: .line 186
            aload 1 /* e */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 187
            aload 0 /* list */
            aload 1 /* e */
            invokestatic com.google.common.collect.Ordering.natural:()Lcom/google/common/collect/Ordering;
            aload 2 /* presentBehavior */
            aload 3 /* absentBehavior */
            invokestatic com.google.common.collect.SortedLists.binarySearch:(Ljava/util/List;Ljava/lang/Object;Ljava/util/Comparator;Lcom/google/common/collect/SortedLists$KeyPresentBehavior;Lcom/google/common/collect/SortedLists$KeyAbsentBehavior;)I
            ireturn
        end local 3 // com.google.common.collect.SortedLists$KeyAbsentBehavior absentBehavior
        end local 2 // com.google.common.collect.SortedLists$KeyPresentBehavior presentBehavior
        end local 1 // java.lang.Comparable e
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             list  Ljava/util/List<+TE;>;
            0    2     1                e  TE;
            0    2     2  presentBehavior  Lcom/google/common/collect/SortedLists$KeyPresentBehavior;
            0    2     3   absentBehavior  Lcom/google/common/collect/SortedLists$KeyAbsentBehavior;
    Signature: <E::Ljava/lang/Comparable;>(Ljava/util/List<+TE;>;TE;Lcom/google/common/collect/SortedLists$KeyPresentBehavior;Lcom/google/common/collect/SortedLists$KeyAbsentBehavior;)I
    MethodParameters:
                 Name  Flags
      list             
      e                
      presentBehavior  
      absentBehavior   

  public static <E, K extends java.lang.Comparable> int binarySearch(java.util.List<E>, com.google.common.base.Function<? super E, K>, K, com.google.common.collect.SortedLists$KeyPresentBehavior, com.google.common.collect.SortedLists$KeyAbsentBehavior);
    descriptor: (Ljava/util/List;Lcom/google/common/base/Function;Ljava/lang/Comparable;Lcom/google/common/collect/SortedLists$KeyPresentBehavior;Lcom/google/common/collect/SortedLists$KeyAbsentBehavior;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // java.util.List list
        start local 1 // com.google.common.base.Function keyFunction
        start local 2 // java.lang.Comparable key
        start local 3 // com.google.common.collect.SortedLists$KeyPresentBehavior presentBehavior
        start local 4 // com.google.common.collect.SortedLists$KeyAbsentBehavior absentBehavior
         0: .line 203
            aload 0 /* list */
            aload 1 /* keyFunction */
            aload 2 /* key */
            invokestatic com.google.common.collect.Ordering.natural:()Lcom/google/common/collect/Ordering;
            aload 3 /* presentBehavior */
            aload 4 /* absentBehavior */
         1: .line 202
            invokestatic com.google.common.collect.SortedLists.binarySearch:(Ljava/util/List;Lcom/google/common/base/Function;Ljava/lang/Object;Ljava/util/Comparator;Lcom/google/common/collect/SortedLists$KeyPresentBehavior;Lcom/google/common/collect/SortedLists$KeyAbsentBehavior;)I
            ireturn
        end local 4 // com.google.common.collect.SortedLists$KeyAbsentBehavior absentBehavior
        end local 3 // com.google.common.collect.SortedLists$KeyPresentBehavior presentBehavior
        end local 2 // java.lang.Comparable key
        end local 1 // com.google.common.base.Function keyFunction
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             list  Ljava/util/List<TE;>;
            0    2     1      keyFunction  Lcom/google/common/base/Function<-TE;TK;>;
            0    2     2              key  TK;
            0    2     3  presentBehavior  Lcom/google/common/collect/SortedLists$KeyPresentBehavior;
            0    2     4   absentBehavior  Lcom/google/common/collect/SortedLists$KeyAbsentBehavior;
    Signature: <E:Ljava/lang/Object;K::Ljava/lang/Comparable;>(Ljava/util/List<TE;>;Lcom/google/common/base/Function<-TE;TK;>;TK;Lcom/google/common/collect/SortedLists$KeyPresentBehavior;Lcom/google/common/collect/SortedLists$KeyAbsentBehavior;)I
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
                 Name  Flags
      list             
      keyFunction      
      key              
      presentBehavior  
      absentBehavior   

  public static <E, K> int binarySearch(java.util.List<E>, com.google.common.base.Function<? super E, K>, K, java.util.Comparator<? super K>, com.google.common.collect.SortedLists$KeyPresentBehavior, com.google.common.collect.SortedLists$KeyAbsentBehavior);
    descriptor: (Ljava/util/List;Lcom/google/common/base/Function;Ljava/lang/Object;Ljava/util/Comparator;Lcom/google/common/collect/SortedLists$KeyPresentBehavior;Lcom/google/common/collect/SortedLists$KeyAbsentBehavior;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // java.util.List list
        start local 1 // com.google.common.base.Function keyFunction
        start local 2 // java.lang.Object key
        start local 3 // java.util.Comparator keyComparator
        start local 4 // com.google.common.collect.SortedLists$KeyPresentBehavior presentBehavior
        start local 5 // com.google.common.collect.SortedLists$KeyAbsentBehavior absentBehavior
         0: .line 221
            aload 0 /* list */
            aload 1 /* keyFunction */
            invokestatic com.google.common.collect.Lists.transform:(Ljava/util/List;Lcom/google/common/base/Function;)Ljava/util/List;
            aload 2 /* key */
            aload 3 /* keyComparator */
            aload 4 /* presentBehavior */
            aload 5 /* absentBehavior */
         1: .line 220
            invokestatic com.google.common.collect.SortedLists.binarySearch:(Ljava/util/List;Ljava/lang/Object;Ljava/util/Comparator;Lcom/google/common/collect/SortedLists$KeyPresentBehavior;Lcom/google/common/collect/SortedLists$KeyAbsentBehavior;)I
            ireturn
        end local 5 // com.google.common.collect.SortedLists$KeyAbsentBehavior absentBehavior
        end local 4 // com.google.common.collect.SortedLists$KeyPresentBehavior presentBehavior
        end local 3 // java.util.Comparator keyComparator
        end local 2 // java.lang.Object key
        end local 1 // com.google.common.base.Function keyFunction
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             list  Ljava/util/List<TE;>;
            0    2     1      keyFunction  Lcom/google/common/base/Function<-TE;TK;>;
            0    2     2              key  TK;
            0    2     3    keyComparator  Ljava/util/Comparator<-TK;>;
            0    2     4  presentBehavior  Lcom/google/common/collect/SortedLists$KeyPresentBehavior;
            0    2     5   absentBehavior  Lcom/google/common/collect/SortedLists$KeyAbsentBehavior;
    Signature: <E:Ljava/lang/Object;K:Ljava/lang/Object;>(Ljava/util/List<TE;>;Lcom/google/common/base/Function<-TE;TK;>;TK;Ljava/util/Comparator<-TK;>;Lcom/google/common/collect/SortedLists$KeyPresentBehavior;Lcom/google/common/collect/SortedLists$KeyAbsentBehavior;)I
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
                 Name  Flags
      list             
      keyFunction      
      key              
      keyComparator    
      presentBehavior  
      absentBehavior   

  public static <E> int binarySearch(java.util.List<? extends E>, E, java.util.Comparator<? super E>, com.google.common.collect.SortedLists$KeyPresentBehavior, com.google.common.collect.SortedLists$KeyAbsentBehavior);
    descriptor: (Ljava/util/List;Ljava/lang/Object;Ljava/util/Comparator;Lcom/google/common/collect/SortedLists$KeyPresentBehavior;Lcom/google/common/collect/SortedLists$KeyAbsentBehavior;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=9, args_size=5
        start local 0 // java.util.List list
        start local 1 // java.lang.Object key
        start local 2 // java.util.Comparator comparator
        start local 3 // com.google.common.collect.SortedLists$KeyPresentBehavior presentBehavior
        start local 4 // com.google.common.collect.SortedLists$KeyAbsentBehavior absentBehavior
         0: .line 253
            aload 2 /* comparator */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 254
            aload 0 /* list */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 255
            aload 3 /* presentBehavior */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 256
            aload 4 /* absentBehavior */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 257
            aload 0 /* list */
            instanceof java.util.RandomAccess
            ifne 6
         5: .line 258
            aload 0 /* list */
            invokestatic com.google.common.collect.Lists.newArrayList:(Ljava/lang/Iterable;)Ljava/util/ArrayList;
            astore 0 /* list */
         6: .line 262
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* lower */
        start local 5 // int lower
         7: .line 263
            aload 0 /* list */
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            istore 6 /* upper */
        start local 6 // int upper
         8: .line 265
            goto 22
         9: .line 266
      StackMap locals: int int
      StackMap stack:
            iload 5 /* lower */
            iload 6 /* upper */
            iadd
            iconst_1
            iushr
            istore 7 /* middle */
        start local 7 // int middle
        10: .line 267
            aload 2 /* comparator */
            aload 1 /* key */
            aload 0 /* list */
            iload 7 /* middle */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
            istore 8 /* c */
        start local 8 // int c
        11: .line 268
            iload 8 /* c */
            ifge 14
        12: .line 269
            iload 7 /* middle */
            iconst_1
            isub
            istore 6 /* upper */
        13: .line 270
            goto 22
      StackMap locals: int int
      StackMap stack:
        14: iload 8 /* c */
            ifle 17
        15: .line 271
            iload 7 /* middle */
            iconst_1
            iadd
            istore 5 /* lower */
        16: .line 272
            goto 22
        17: .line 273
      StackMap locals:
      StackMap stack:
            iload 5 /* lower */
        18: .line 274
            aload 3 /* presentBehavior */
        19: .line 275
            aload 2 /* comparator */
            aload 1 /* key */
            aload 0 /* list */
            iload 5 /* lower */
            iload 6 /* upper */
            iconst_1
            iadd
            invokeinterface java.util.List.subList:(II)Ljava/util/List;
            iload 7 /* middle */
            iload 5 /* lower */
            isub
        20: .line 274
            invokevirtual com.google.common.collect.SortedLists$KeyPresentBehavior.resultIndex:(Ljava/util/Comparator;Ljava/lang/Object;Ljava/util/List;I)I
        21: .line 273
            iadd
            ireturn
        end local 8 // int c
        end local 7 // int middle
        22: .line 265
      StackMap locals:
      StackMap stack:
            iload 5 /* lower */
            iload 6 /* upper */
            if_icmple 9
        23: .line 278
            aload 4 /* absentBehavior */
            iload 5 /* lower */
            invokevirtual com.google.common.collect.SortedLists$KeyAbsentBehavior.resultIndex:(I)I
            ireturn
        end local 6 // int upper
        end local 5 // int lower
        end local 4 // com.google.common.collect.SortedLists$KeyAbsentBehavior absentBehavior
        end local 3 // com.google.common.collect.SortedLists$KeyPresentBehavior presentBehavior
        end local 2 // java.util.Comparator comparator
        end local 1 // java.lang.Object key
        end local 0 // java.util.List list
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   24     0             list  Ljava/util/List<+TE;>;
            0   24     1              key  TE;
            0   24     2       comparator  Ljava/util/Comparator<-TE;>;
            0   24     3  presentBehavior  Lcom/google/common/collect/SortedLists$KeyPresentBehavior;
            0   24     4   absentBehavior  Lcom/google/common/collect/SortedLists$KeyAbsentBehavior;
            7   24     5            lower  I
            8   24     6            upper  I
           10   22     7           middle  I
           11   22     8                c  I
    Signature: <E:Ljava/lang/Object;>(Ljava/util/List<+TE;>;TE;Ljava/util/Comparator<-TE;>;Lcom/google/common/collect/SortedLists$KeyPresentBehavior;Lcom/google/common/collect/SortedLists$KeyAbsentBehavior;)I
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
                 Name  Flags
      list             
      key              
      comparator       
      presentBehavior  
      absentBehavior   
}
SourceFile: "SortedLists.java"
NestMembers:
  com.google.common.collect.SortedLists$KeyAbsentBehavior  com.google.common.collect.SortedLists$KeyAbsentBehavior$1  com.google.common.collect.SortedLists$KeyAbsentBehavior$2  com.google.common.collect.SortedLists$KeyAbsentBehavior$3  com.google.common.collect.SortedLists$KeyPresentBehavior  com.google.common.collect.SortedLists$KeyPresentBehavior$1  com.google.common.collect.SortedLists$KeyPresentBehavior$2  com.google.common.collect.SortedLists$KeyPresentBehavior$3  com.google.common.collect.SortedLists$KeyPresentBehavior$4  com.google.common.collect.SortedLists$KeyPresentBehavior$5
InnerClasses:
  abstract KeyAbsentBehavior = com.google.common.collect.SortedLists$KeyAbsentBehavior of com.google.common.collect.SortedLists
  abstract KeyPresentBehavior = com.google.common.collect.SortedLists$KeyPresentBehavior of com.google.common.collect.SortedLists
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtCompatible()
      com.google.common.annotations.Beta()