public final class com.google.common.collect.Range<C extends java.lang.Comparable> extends com.google.common.collect.RangeGwtSerializationDependencies implements com.google.common.base.Predicate<C>, java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.google.common.collect.Range
  super_class: com.google.common.collect.RangeGwtSerializationDependencies
{
  private static final com.google.common.collect.Range<java.lang.Comparable> ALL;
    descriptor: Lcom/google/common/collect/Range;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Lcom/google/common/collect/Range<Ljava/lang/Comparable;>;

  final com.google.common.collect.Cut<C> lowerBound;
    descriptor: Lcom/google/common/collect/Cut;
    flags: (0x0010) ACC_FINAL
    Signature: Lcom/google/common/collect/Cut<TC;>;

  final com.google.common.collect.Cut<C> upperBound;
    descriptor: Lcom/google/common/collect/Cut;
    flags: (0x0010) ACC_FINAL
    Signature: Lcom/google/common/collect/Cut<TC;>;

  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static volatile int[] $SWITCH_TABLE$com$google$common$collect$BoundType;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 292
            new com.google.common.collect.Range
            dup
            invokestatic com.google.common.collect.Cut.belowAll:()Lcom/google/common/collect/Cut;
            invokestatic com.google.common.collect.Cut.aboveAll:()Lcom/google/common/collect/Cut;
            invokespecial com.google.common.collect.Range.<init>:(Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)V
            putstatic com.google.common.collect.Range.ALL:Lcom/google/common/collect/Range;
         1: .line 684
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static <C extends java.lang.Comparable<?>> com.google.common.base.Function<com.google.common.collect.Range<C>, com.google.common.collect.Cut<C>> lowerBoundFn();
    descriptor: ()Lcom/google/common/base/Function;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 142
            getstatic com.google.common.collect.Range$LowerBoundFn.INSTANCE:Lcom/google/common/collect/Range$LowerBoundFn;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <C::Ljava/lang/Comparable<*>;>()Lcom/google/common/base/Function<Lcom/google/common/collect/Range<TC;>;Lcom/google/common/collect/Cut<TC;>;>;

  static <C extends java.lang.Comparable<?>> com.google.common.base.Function<com.google.common.collect.Range<C>, com.google.common.collect.Cut<C>> upperBoundFn();
    descriptor: ()Lcom/google/common/base/Function;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 147
            getstatic com.google.common.collect.Range$UpperBoundFn.INSTANCE:Lcom/google/common/collect/Range$UpperBoundFn;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <C::Ljava/lang/Comparable<*>;>()Lcom/google/common/base/Function<Lcom/google/common/collect/Range<TC;>;Lcom/google/common/collect/Cut<TC;>;>;

  static <C extends java.lang.Comparable<?>> com.google.common.collect.Ordering<com.google.common.collect.Range<C>> rangeLexOrdering();
    descriptor: ()Lcom/google/common/collect/Ordering;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 151
            getstatic com.google.common.collect.Range$RangeLexOrdering.INSTANCE:Lcom/google/common/collect/Ordering;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <C::Ljava/lang/Comparable<*>;>()Lcom/google/common/collect/Ordering<Lcom/google/common/collect/Range<TC;>;>;

  static <C extends java.lang.Comparable<?>> com.google.common.collect.Range<C> create(com.google.common.collect.Cut<C>, com.google.common.collect.Cut<C>);
    descriptor: (Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)Lcom/google/common/collect/Range;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.google.common.collect.Cut lowerBound
        start local 1 // com.google.common.collect.Cut upperBound
         0: .line 155
            new com.google.common.collect.Range
            dup
            aload 0 /* lowerBound */
            aload 1 /* upperBound */
            invokespecial com.google.common.collect.Range.<init>:(Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)V
            areturn
        end local 1 // com.google.common.collect.Cut upperBound
        end local 0 // com.google.common.collect.Cut lowerBound
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  lowerBound  Lcom/google/common/collect/Cut<TC;>;
            0    1     1  upperBound  Lcom/google/common/collect/Cut<TC;>;
    Signature: <C::Ljava/lang/Comparable<*>;>(Lcom/google/common/collect/Cut<TC;>;Lcom/google/common/collect/Cut<TC;>;)Lcom/google/common/collect/Range<TC;>;
    MethodParameters:
            Name  Flags
      lowerBound  
      upperBound  

  public static <C extends java.lang.Comparable<?>> com.google.common.collect.Range<C> open(C, C);
    descriptor: (Ljava/lang/Comparable;Ljava/lang/Comparable;)Lcom/google/common/collect/Range;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Comparable lower
        start local 1 // java.lang.Comparable upper
         0: .line 167
            aload 0 /* lower */
            invokestatic com.google.common.collect.Cut.aboveValue:(Ljava/lang/Comparable;)Lcom/google/common/collect/Cut;
            aload 1 /* upper */
            invokestatic com.google.common.collect.Cut.belowValue:(Ljava/lang/Comparable;)Lcom/google/common/collect/Cut;
            invokestatic com.google.common.collect.Range.create:(Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)Lcom/google/common/collect/Range;
            areturn
        end local 1 // java.lang.Comparable upper
        end local 0 // java.lang.Comparable lower
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  lower  TC;
            0    1     1  upper  TC;
    Signature: <C::Ljava/lang/Comparable<*>;>(TC;TC;)Lcom/google/common/collect/Range<TC;>;
    MethodParameters:
       Name  Flags
      lower  
      upper  

  public static <C extends java.lang.Comparable<?>> com.google.common.collect.Range<C> closed(C, C);
    descriptor: (Ljava/lang/Comparable;Ljava/lang/Comparable;)Lcom/google/common/collect/Range;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Comparable lower
        start local 1 // java.lang.Comparable upper
         0: .line 178
            aload 0 /* lower */
            invokestatic com.google.common.collect.Cut.belowValue:(Ljava/lang/Comparable;)Lcom/google/common/collect/Cut;
            aload 1 /* upper */
            invokestatic com.google.common.collect.Cut.aboveValue:(Ljava/lang/Comparable;)Lcom/google/common/collect/Cut;
            invokestatic com.google.common.collect.Range.create:(Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)Lcom/google/common/collect/Range;
            areturn
        end local 1 // java.lang.Comparable upper
        end local 0 // java.lang.Comparable lower
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  lower  TC;
            0    1     1  upper  TC;
    Signature: <C::Ljava/lang/Comparable<*>;>(TC;TC;)Lcom/google/common/collect/Range<TC;>;
    MethodParameters:
       Name  Flags
      lower  
      upper  

  public static <C extends java.lang.Comparable<?>> com.google.common.collect.Range<C> closedOpen(C, C);
    descriptor: (Ljava/lang/Comparable;Ljava/lang/Comparable;)Lcom/google/common/collect/Range;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Comparable lower
        start local 1 // java.lang.Comparable upper
         0: .line 189
            aload 0 /* lower */
            invokestatic com.google.common.collect.Cut.belowValue:(Ljava/lang/Comparable;)Lcom/google/common/collect/Cut;
            aload 1 /* upper */
            invokestatic com.google.common.collect.Cut.belowValue:(Ljava/lang/Comparable;)Lcom/google/common/collect/Cut;
            invokestatic com.google.common.collect.Range.create:(Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)Lcom/google/common/collect/Range;
            areturn
        end local 1 // java.lang.Comparable upper
        end local 0 // java.lang.Comparable lower
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  lower  TC;
            0    1     1  upper  TC;
    Signature: <C::Ljava/lang/Comparable<*>;>(TC;TC;)Lcom/google/common/collect/Range<TC;>;
    MethodParameters:
       Name  Flags
      lower  
      upper  

  public static <C extends java.lang.Comparable<?>> com.google.common.collect.Range<C> openClosed(C, C);
    descriptor: (Ljava/lang/Comparable;Ljava/lang/Comparable;)Lcom/google/common/collect/Range;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Comparable lower
        start local 1 // java.lang.Comparable upper
         0: .line 200
            aload 0 /* lower */
            invokestatic com.google.common.collect.Cut.aboveValue:(Ljava/lang/Comparable;)Lcom/google/common/collect/Cut;
            aload 1 /* upper */
            invokestatic com.google.common.collect.Cut.aboveValue:(Ljava/lang/Comparable;)Lcom/google/common/collect/Cut;
            invokestatic com.google.common.collect.Range.create:(Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)Lcom/google/common/collect/Range;
            areturn
        end local 1 // java.lang.Comparable upper
        end local 0 // java.lang.Comparable lower
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  lower  TC;
            0    1     1  upper  TC;
    Signature: <C::Ljava/lang/Comparable<*>;>(TC;TC;)Lcom/google/common/collect/Range<TC;>;
    MethodParameters:
       Name  Flags
      lower  
      upper  

  public static <C extends java.lang.Comparable<?>> com.google.common.collect.Range<C> range(C, com.google.common.collect.BoundType, C, com.google.common.collect.BoundType);
    descriptor: (Ljava/lang/Comparable;Lcom/google/common/collect/BoundType;Ljava/lang/Comparable;Lcom/google/common/collect/BoundType;)Lcom/google/common/collect/Range;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=4
        start local 0 // java.lang.Comparable lower
        start local 1 // com.google.common.collect.BoundType lowerType
        start local 2 // java.lang.Comparable upper
        start local 3 // com.google.common.collect.BoundType upperType
         0: .line 212
            aload 1 /* lowerType */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 213
            aload 3 /* upperType */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 216
            aload 1 /* lowerType */
            getstatic com.google.common.collect.BoundType.OPEN:Lcom/google/common/collect/BoundType;
            if_acmpne 3
            aload 0 /* lower */
            invokestatic com.google.common.collect.Cut.aboveValue:(Ljava/lang/Comparable;)Lcom/google/common/collect/Cut;
            goto 4
      StackMap locals:
      StackMap stack:
         3: aload 0 /* lower */
            invokestatic com.google.common.collect.Cut.belowValue:(Ljava/lang/Comparable;)Lcom/google/common/collect/Cut;
         4: .line 215
      StackMap locals:
      StackMap stack: com.google.common.collect.Cut
            astore 4 /* lowerBound */
        start local 4 // com.google.common.collect.Cut lowerBound
         5: .line 218
            aload 3 /* upperType */
            getstatic com.google.common.collect.BoundType.OPEN:Lcom/google/common/collect/BoundType;
            if_acmpne 6
            aload 2 /* upper */
            invokestatic com.google.common.collect.Cut.belowValue:(Ljava/lang/Comparable;)Lcom/google/common/collect/Cut;
            goto 7
      StackMap locals: com.google.common.collect.Cut
      StackMap stack:
         6: aload 2 /* upper */
            invokestatic com.google.common.collect.Cut.aboveValue:(Ljava/lang/Comparable;)Lcom/google/common/collect/Cut;
         7: .line 217
      StackMap locals:
      StackMap stack: com.google.common.collect.Cut
            astore 5 /* upperBound */
        start local 5 // com.google.common.collect.Cut upperBound
         8: .line 219
            aload 4 /* lowerBound */
            aload 5 /* upperBound */
            invokestatic com.google.common.collect.Range.create:(Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)Lcom/google/common/collect/Range;
            areturn
        end local 5 // com.google.common.collect.Cut upperBound
        end local 4 // com.google.common.collect.Cut lowerBound
        end local 3 // com.google.common.collect.BoundType upperType
        end local 2 // java.lang.Comparable upper
        end local 1 // com.google.common.collect.BoundType lowerType
        end local 0 // java.lang.Comparable lower
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    9     0       lower  TC;
            0    9     1   lowerType  Lcom/google/common/collect/BoundType;
            0    9     2       upper  TC;
            0    9     3   upperType  Lcom/google/common/collect/BoundType;
            5    9     4  lowerBound  Lcom/google/common/collect/Cut<TC;>;
            8    9     5  upperBound  Lcom/google/common/collect/Cut<TC;>;
    Signature: <C::Ljava/lang/Comparable<*>;>(TC;Lcom/google/common/collect/BoundType;TC;Lcom/google/common/collect/BoundType;)Lcom/google/common/collect/Range<TC;>;
    MethodParameters:
           Name  Flags
      lower      
      lowerType  
      upper      
      upperType  

  public static <C extends java.lang.Comparable<?>> com.google.common.collect.Range<C> lessThan(C);
    descriptor: (Ljava/lang/Comparable;)Lcom/google/common/collect/Range;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Comparable endpoint
         0: .line 228
            invokestatic com.google.common.collect.Cut.belowAll:()Lcom/google/common/collect/Cut;
            aload 0 /* endpoint */
            invokestatic com.google.common.collect.Cut.belowValue:(Ljava/lang/Comparable;)Lcom/google/common/collect/Cut;
            invokestatic com.google.common.collect.Range.create:(Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)Lcom/google/common/collect/Range;
            areturn
        end local 0 // java.lang.Comparable endpoint
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  endpoint  TC;
    Signature: <C::Ljava/lang/Comparable<*>;>(TC;)Lcom/google/common/collect/Range<TC;>;
    MethodParameters:
          Name  Flags
      endpoint  

  public static <C extends java.lang.Comparable<?>> com.google.common.collect.Range<C> atMost(C);
    descriptor: (Ljava/lang/Comparable;)Lcom/google/common/collect/Range;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Comparable endpoint
         0: .line 237
            invokestatic com.google.common.collect.Cut.belowAll:()Lcom/google/common/collect/Cut;
            aload 0 /* endpoint */
            invokestatic com.google.common.collect.Cut.aboveValue:(Ljava/lang/Comparable;)Lcom/google/common/collect/Cut;
            invokestatic com.google.common.collect.Range.create:(Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)Lcom/google/common/collect/Range;
            areturn
        end local 0 // java.lang.Comparable endpoint
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  endpoint  TC;
    Signature: <C::Ljava/lang/Comparable<*>;>(TC;)Lcom/google/common/collect/Range<TC;>;
    MethodParameters:
          Name  Flags
      endpoint  

  public static <C extends java.lang.Comparable<?>> com.google.common.collect.Range<C> upTo(C, com.google.common.collect.BoundType);
    descriptor: (Ljava/lang/Comparable;Lcom/google/common/collect/BoundType;)Lcom/google/common/collect/Range;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Comparable endpoint
        start local 1 // com.google.common.collect.BoundType boundType
         0: .line 247
            invokestatic com.google.common.collect.Range.$SWITCH_TABLE$com$google$common$collect$BoundType:()[I
            aload 1 /* boundType */
            invokevirtual com.google.common.collect.BoundType.ordinal:()I
            iaload
            tableswitch { // 1 - 2
                    1: 1
                    2: 2
              default: 3
          }
         1: .line 249
      StackMap locals:
      StackMap stack:
            aload 0 /* endpoint */
            invokestatic com.google.common.collect.Range.lessThan:(Ljava/lang/Comparable;)Lcom/google/common/collect/Range;
            areturn
         2: .line 251
      StackMap locals:
      StackMap stack:
            aload 0 /* endpoint */
            invokestatic com.google.common.collect.Range.atMost:(Ljava/lang/Comparable;)Lcom/google/common/collect/Range;
            areturn
         3: .line 253
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 1 // com.google.common.collect.BoundType boundType
        end local 0 // java.lang.Comparable endpoint
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0   endpoint  TC;
            0    4     1  boundType  Lcom/google/common/collect/BoundType;
    Signature: <C::Ljava/lang/Comparable<*>;>(TC;Lcom/google/common/collect/BoundType;)Lcom/google/common/collect/Range<TC;>;
    MethodParameters:
           Name  Flags
      endpoint   
      boundType  

  public static <C extends java.lang.Comparable<?>> com.google.common.collect.Range<C> greaterThan(C);
    descriptor: (Ljava/lang/Comparable;)Lcom/google/common/collect/Range;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Comparable endpoint
         0: .line 263
            aload 0 /* endpoint */
            invokestatic com.google.common.collect.Cut.aboveValue:(Ljava/lang/Comparable;)Lcom/google/common/collect/Cut;
            invokestatic com.google.common.collect.Cut.aboveAll:()Lcom/google/common/collect/Cut;
            invokestatic com.google.common.collect.Range.create:(Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)Lcom/google/common/collect/Range;
            areturn
        end local 0 // java.lang.Comparable endpoint
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  endpoint  TC;
    Signature: <C::Ljava/lang/Comparable<*>;>(TC;)Lcom/google/common/collect/Range<TC;>;
    MethodParameters:
          Name  Flags
      endpoint  

  public static <C extends java.lang.Comparable<?>> com.google.common.collect.Range<C> atLeast(C);
    descriptor: (Ljava/lang/Comparable;)Lcom/google/common/collect/Range;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Comparable endpoint
         0: .line 272
            aload 0 /* endpoint */
            invokestatic com.google.common.collect.Cut.belowValue:(Ljava/lang/Comparable;)Lcom/google/common/collect/Cut;
            invokestatic com.google.common.collect.Cut.aboveAll:()Lcom/google/common/collect/Cut;
            invokestatic com.google.common.collect.Range.create:(Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)Lcom/google/common/collect/Range;
            areturn
        end local 0 // java.lang.Comparable endpoint
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  endpoint  TC;
    Signature: <C::Ljava/lang/Comparable<*>;>(TC;)Lcom/google/common/collect/Range<TC;>;
    MethodParameters:
          Name  Flags
      endpoint  

  public static <C extends java.lang.Comparable<?>> com.google.common.collect.Range<C> downTo(C, com.google.common.collect.BoundType);
    descriptor: (Ljava/lang/Comparable;Lcom/google/common/collect/BoundType;)Lcom/google/common/collect/Range;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Comparable endpoint
        start local 1 // com.google.common.collect.BoundType boundType
         0: .line 282
            invokestatic com.google.common.collect.Range.$SWITCH_TABLE$com$google$common$collect$BoundType:()[I
            aload 1 /* boundType */
            invokevirtual com.google.common.collect.BoundType.ordinal:()I
            iaload
            tableswitch { // 1 - 2
                    1: 1
                    2: 2
              default: 3
          }
         1: .line 284
      StackMap locals:
      StackMap stack:
            aload 0 /* endpoint */
            invokestatic com.google.common.collect.Range.greaterThan:(Ljava/lang/Comparable;)Lcom/google/common/collect/Range;
            areturn
         2: .line 286
      StackMap locals:
      StackMap stack:
            aload 0 /* endpoint */
            invokestatic com.google.common.collect.Range.atLeast:(Ljava/lang/Comparable;)Lcom/google/common/collect/Range;
            areturn
         3: .line 288
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 1 // com.google.common.collect.BoundType boundType
        end local 0 // java.lang.Comparable endpoint
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0   endpoint  TC;
            0    4     1  boundType  Lcom/google/common/collect/BoundType;
    Signature: <C::Ljava/lang/Comparable<*>;>(TC;Lcom/google/common/collect/BoundType;)Lcom/google/common/collect/Range<TC;>;
    MethodParameters:
           Name  Flags
      endpoint   
      boundType  

  public static <C extends java.lang.Comparable<?>> com.google.common.collect.Range<C> all();
    descriptor: ()Lcom/google/common/collect/Range;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 301
            getstatic com.google.common.collect.Range.ALL:Lcom/google/common/collect/Range;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    Signature: <C::Ljava/lang/Comparable<*>;>()Lcom/google/common/collect/Range<TC;>;

  public static <C extends java.lang.Comparable<?>> com.google.common.collect.Range<C> singleton(C);
    descriptor: (Ljava/lang/Comparable;)Lcom/google/common/collect/Range;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Comparable value
         0: .line 311
            aload 0 /* value */
            aload 0 /* value */
            invokestatic com.google.common.collect.Range.closed:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Lcom/google/common/collect/Range;
            areturn
        end local 0 // java.lang.Comparable value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  value  TC;
    Signature: <C::Ljava/lang/Comparable<*>;>(TC;)Lcom/google/common/collect/Range<TC;>;
    MethodParameters:
       Name  Flags
      value  

  public static <C extends java.lang.Comparable<?>> com.google.common.collect.Range<C> encloseAll(java.lang.Iterable<C>);
    descriptor: (Ljava/lang/Iterable;)Lcom/google/common/collect/Range;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // java.lang.Iterable values
         0: .line 324
            aload 0 /* values */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 325
            aload 0 /* values */
            instanceof java.util.SortedSet
            ifeq 6
         2: .line 326
            aload 0 /* values */
            invokestatic com.google.common.collect.Range.cast:(Ljava/lang/Iterable;)Ljava/util/SortedSet;
            astore 1 /* set */
        start local 1 // java.util.SortedSet set
         3: .line 327
            aload 1 /* set */
            invokeinterface java.util.SortedSet.comparator:()Ljava/util/Comparator;
            astore 2 /* comparator */
        start local 2 // java.util.Comparator comparator
         4: .line 328
            invokestatic com.google.common.collect.Ordering.natural:()Lcom/google/common/collect/Ordering;
            aload 2 /* comparator */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 5
            aload 2 /* comparator */
            ifnonnull 6
         5: .line 329
      StackMap locals: java.util.SortedSet java.util.Comparator
      StackMap stack:
            aload 1 /* set */
            invokeinterface java.util.SortedSet.first:()Ljava/lang/Object;
            checkcast java.lang.Comparable
            aload 1 /* set */
            invokeinterface java.util.SortedSet.last:()Ljava/lang/Object;
            checkcast java.lang.Comparable
            invokestatic com.google.common.collect.Range.closed:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Lcom/google/common/collect/Range;
            areturn
        end local 2 // java.util.Comparator comparator
        end local 1 // java.util.SortedSet set
         6: .line 332
      StackMap locals:
      StackMap stack:
            aload 0 /* values */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 1 /* valueIterator */
        start local 1 // java.util.Iterator valueIterator
         7: .line 333
            aload 1 /* valueIterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Comparable
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Comparable
            astore 2 /* min */
        start local 2 // java.lang.Comparable min
         8: .line 334
            aload 2 /* min */
            astore 3 /* max */
        start local 3 // java.lang.Comparable max
         9: .line 335
            goto 13
        10: .line 336
      StackMap locals: java.util.Iterator java.lang.Comparable java.lang.Comparable
      StackMap stack:
            aload 1 /* valueIterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Comparable
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Comparable
            astore 4 /* value */
        start local 4 // java.lang.Comparable value
        11: .line 337
            invokestatic com.google.common.collect.Ordering.natural:()Lcom/google/common/collect/Ordering;
            aload 2 /* min */
            aload 4 /* value */
            invokevirtual com.google.common.collect.Ordering.min:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Comparable
            astore 2 /* min */
        12: .line 338
            invokestatic com.google.common.collect.Ordering.natural:()Lcom/google/common/collect/Ordering;
            aload 3 /* max */
            aload 4 /* value */
            invokevirtual com.google.common.collect.Ordering.max:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Comparable
            astore 3 /* max */
        end local 4 // java.lang.Comparable value
        13: .line 335
      StackMap locals:
      StackMap stack:
            aload 1 /* valueIterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        14: .line 340
            aload 2 /* min */
            aload 3 /* max */
            invokestatic com.google.common.collect.Range.closed:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Lcom/google/common/collect/Range;
            areturn
        end local 3 // java.lang.Comparable max
        end local 2 // java.lang.Comparable min
        end local 1 // java.util.Iterator valueIterator
        end local 0 // java.lang.Iterable values
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   15     0         values  Ljava/lang/Iterable<TC;>;
            3    6     1            set  Ljava/util/SortedSet<+TC;>;
            4    6     2     comparator  Ljava/util/Comparator<*>;
            7   15     1  valueIterator  Ljava/util/Iterator<TC;>;
            8   15     2            min  TC;
            9   15     3            max  TC;
           11   13     4          value  TC;
    Signature: <C::Ljava/lang/Comparable<*>;>(Ljava/lang/Iterable<TC;>;)Lcom/google/common/collect/Range<TC;>;
    MethodParameters:
        Name  Flags
      values  

  private void <init>(com.google.common.collect.Cut<C>, com.google.common.collect.Cut<C>);
    descriptor: (Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.google.common.collect.Range this
        start local 1 // com.google.common.collect.Cut lowerBound
        start local 2 // com.google.common.collect.Cut upperBound
         0: .line 346
            aload 0 /* this */
            invokespecial com.google.common.collect.RangeGwtSerializationDependencies.<init>:()V
         1: .line 347
            aload 0 /* this */
            aload 1 /* lowerBound */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.google.common.collect.Cut
            putfield com.google.common.collect.Range.lowerBound:Lcom/google/common/collect/Cut;
         2: .line 348
            aload 0 /* this */
            aload 2 /* upperBound */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.google.common.collect.Cut
            putfield com.google.common.collect.Range.upperBound:Lcom/google/common/collect/Cut;
         3: .line 349
            aload 1 /* lowerBound */
            aload 2 /* upperBound */
            invokevirtual com.google.common.collect.Cut.compareTo:(Lcom/google/common/collect/Cut;)I
            ifgt 6
         4: .line 350
            aload 1 /* lowerBound */
            invokestatic com.google.common.collect.Cut.aboveAll:()Lcom/google/common/collect/Cut;
            if_acmpeq 6
         5: .line 351
            aload 2 /* upperBound */
            invokestatic com.google.common.collect.Cut.belowAll:()Lcom/google/common/collect/Cut;
            if_acmpne 7
         6: .line 352
      StackMap locals: com.google.common.collect.Range com.google.common.collect.Cut com.google.common.collect.Cut
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid range: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* lowerBound */
            aload 2 /* upperBound */
            invokestatic com.google.common.collect.Range.toString:(Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)Ljava/lang/String;
            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
         7: .line 354
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.google.common.collect.Cut upperBound
        end local 1 // com.google.common.collect.Cut lowerBound
        end local 0 // com.google.common.collect.Range this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Lcom/google/common/collect/Range<TC;>;
            0    8     1  lowerBound  Lcom/google/common/collect/Cut<TC;>;
            0    8     2  upperBound  Lcom/google/common/collect/Cut<TC;>;
    Signature: (Lcom/google/common/collect/Cut<TC;>;Lcom/google/common/collect/Cut<TC;>;)V
    MethodParameters:
            Name  Flags
      lowerBound  
      upperBound  

  public boolean hasLowerBound();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.common.collect.Range this
         0: .line 358
            aload 0 /* this */
            getfield com.google.common.collect.Range.lowerBound:Lcom/google/common/collect/Cut;
            invokestatic com.google.common.collect.Cut.belowAll:()Lcom/google/common/collect/Cut;
            if_acmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.google.common.collect.Range this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/google/common/collect/Range<TC;>;

  public C lowerEndpoint();
    descriptor: ()Ljava/lang/Comparable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.collect.Range this
         0: .line 368
            aload 0 /* this */
            getfield com.google.common.collect.Range.lowerBound:Lcom/google/common/collect/Cut;
            invokevirtual com.google.common.collect.Cut.endpoint:()Ljava/lang/Comparable;
            areturn
        end local 0 // com.google.common.collect.Range this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/collect/Range<TC;>;
    Signature: ()TC;

  public com.google.common.collect.BoundType lowerBoundType();
    descriptor: ()Lcom/google/common/collect/BoundType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.collect.Range this
         0: .line 379
            aload 0 /* this */
            getfield com.google.common.collect.Range.lowerBound:Lcom/google/common/collect/Cut;
            invokevirtual com.google.common.collect.Cut.typeAsLowerBound:()Lcom/google/common/collect/BoundType;
            areturn
        end local 0 // com.google.common.collect.Range this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/collect/Range<TC;>;

  public boolean hasUpperBound();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.common.collect.Range this
         0: .line 384
            aload 0 /* this */
            getfield com.google.common.collect.Range.upperBound:Lcom/google/common/collect/Cut;
            invokestatic com.google.common.collect.Cut.aboveAll:()Lcom/google/common/collect/Cut;
            if_acmpeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.google.common.collect.Range this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/google/common/collect/Range<TC;>;

  public C upperEndpoint();
    descriptor: ()Ljava/lang/Comparable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.collect.Range this
         0: .line 394
            aload 0 /* this */
            getfield com.google.common.collect.Range.upperBound:Lcom/google/common/collect/Cut;
            invokevirtual com.google.common.collect.Cut.endpoint:()Ljava/lang/Comparable;
            areturn
        end local 0 // com.google.common.collect.Range this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/collect/Range<TC;>;
    Signature: ()TC;

  public com.google.common.collect.BoundType upperBoundType();
    descriptor: ()Lcom/google/common/collect/BoundType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.google.common.collect.Range this
         0: .line 405
            aload 0 /* this */
            getfield com.google.common.collect.Range.upperBound:Lcom/google/common/collect/Cut;
            invokevirtual com.google.common.collect.Cut.typeAsUpperBound:()Lcom/google/common/collect/BoundType;
            areturn
        end local 0 // com.google.common.collect.Range this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/collect/Range<TC;>;

  public boolean isEmpty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.common.collect.Range this
         0: .line 418
            aload 0 /* this */
            getfield com.google.common.collect.Range.lowerBound:Lcom/google/common/collect/Cut;
            aload 0 /* this */
            getfield com.google.common.collect.Range.upperBound:Lcom/google/common/collect/Cut;
            invokevirtual com.google.common.collect.Cut.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 0 // com.google.common.collect.Range this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/collect/Range<TC;>;

  public boolean contains();
    descriptor: (Ljava/lang/Comparable;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.google.common.collect.Range this
        start local 1 // java.lang.Comparable value
         0: .line 427
            aload 1 /* value */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 429
            aload 0 /* this */
            getfield com.google.common.collect.Range.lowerBound:Lcom/google/common/collect/Cut;
            aload 1 /* value */
            invokevirtual com.google.common.collect.Cut.isLessThan:(Ljava/lang/Comparable;)Z
            ifeq 2
            aload 0 /* this */
            getfield com.google.common.collect.Range.upperBound:Lcom/google/common/collect/Cut;
            aload 1 /* value */
            invokevirtual com.google.common.collect.Cut.isLessThan:(Ljava/lang/Comparable;)Z
            ifne 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
        end local 1 // java.lang.Comparable value
        end local 0 // com.google.common.collect.Range this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/google/common/collect/Range<TC;>;
            0    3     1  value  TC;
    Signature: (TC;)Z
    MethodParameters:
       Name  Flags
      value  

  public boolean apply();
    descriptor: (Ljava/lang/Comparable;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.google.common.collect.Range this
        start local 1 // java.lang.Comparable input
         0: .line 439
            aload 0 /* this */
            aload 1 /* input */
            invokevirtual com.google.common.collect.Range.contains:(Ljava/lang/Comparable;)Z
            ireturn
        end local 1 // java.lang.Comparable input
        end local 0 // com.google.common.collect.Range this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/google/common/collect/Range<TC;>;
            0    1     1  input  TC;
    Signature: (TC;)Z
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
       Name  Flags
      input  

  public boolean containsAll(java.lang.Iterable<? extends C>);
    descriptor: (Ljava/lang/Iterable;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // com.google.common.collect.Range this
        start local 1 // java.lang.Iterable values
         0: .line 447
            aload 1 /* values */
            invokestatic com.google.common.collect.Iterables.isEmpty:(Ljava/lang/Iterable;)Z
            ifeq 2
         1: .line 448
            iconst_1
            ireturn
         2: .line 452
      StackMap locals:
      StackMap stack:
            aload 1 /* values */
            instanceof java.util.SortedSet
            ifeq 8
         3: .line 453
            aload 1 /* values */
            invokestatic com.google.common.collect.Range.cast:(Ljava/lang/Iterable;)Ljava/util/SortedSet;
            astore 2 /* set */
        start local 2 // java.util.SortedSet set
         4: .line 454
            aload 2 /* set */
            invokeinterface java.util.SortedSet.comparator:()Ljava/util/Comparator;
            astore 3 /* comparator */
        start local 3 // java.util.Comparator comparator
         5: .line 455
            invokestatic com.google.common.collect.Ordering.natural:()Lcom/google/common/collect/Ordering;
            aload 3 /* comparator */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 6
            aload 3 /* comparator */
            ifnonnull 8
         6: .line 456
      StackMap locals: java.util.SortedSet java.util.Comparator
      StackMap stack:
            aload 0 /* this */
            aload 2 /* set */
            invokeinterface java.util.SortedSet.first:()Ljava/lang/Object;
            checkcast java.lang.Comparable
            invokevirtual com.google.common.collect.Range.contains:(Ljava/lang/Comparable;)Z
            ifeq 7
            aload 0 /* this */
            aload 2 /* set */
            invokeinterface java.util.SortedSet.last:()Ljava/lang/Object;
            checkcast java.lang.Comparable
            invokevirtual com.google.common.collect.Range.contains:(Ljava/lang/Comparable;)Z
            ifeq 7
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         7: iconst_0
            ireturn
        end local 3 // java.util.Comparator comparator
        end local 2 // java.util.SortedSet set
         8: .line 460
      StackMap locals:
      StackMap stack:
            aload 1 /* values */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 3
            goto 12
      StackMap locals: com.google.common.collect.Range java.lang.Iterable top java.util.Iterator
      StackMap stack:
         9: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.Comparable
            astore 2 /* value */
        start local 2 // java.lang.Comparable value
        10: .line 461
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual com.google.common.collect.Range.contains:(Ljava/lang/Comparable;)Z
            ifne 12
        11: .line 462
            iconst_0
            ireturn
        end local 2 // java.lang.Comparable value
        12: .line 460
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        13: .line 465
            iconst_1
            ireturn
        end local 1 // java.lang.Iterable values
        end local 0 // com.google.common.collect.Range this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Lcom/google/common/collect/Range<TC;>;
            0   14     1      values  Ljava/lang/Iterable<+TC;>;
            4    8     2         set  Ljava/util/SortedSet<+TC;>;
            5    8     3  comparator  Ljava/util/Comparator<*>;
           10   12     2       value  TC;
    Signature: (Ljava/lang/Iterable<+TC;>;)Z
    MethodParameters:
        Name  Flags
      values  

  public boolean encloses(com.google.common.collect.Range<C>);
    descriptor: (Lcom/google/common/collect/Range;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.google.common.collect.Range this
        start local 1 // com.google.common.collect.Range other
         0: .line 492
            aload 0 /* this */
            getfield com.google.common.collect.Range.lowerBound:Lcom/google/common/collect/Cut;
            aload 1 /* other */
            getfield com.google.common.collect.Range.lowerBound:Lcom/google/common/collect/Cut;
            invokevirtual com.google.common.collect.Cut.compareTo:(Lcom/google/common/collect/Cut;)I
            ifgt 3
         1: .line 493
            aload 0 /* this */
            getfield com.google.common.collect.Range.upperBound:Lcom/google/common/collect/Cut;
            aload 1 /* other */
            getfield com.google.common.collect.Range.upperBound:Lcom/google/common/collect/Cut;
            invokevirtual com.google.common.collect.Cut.compareTo:(Lcom/google/common/collect/Cut;)I
         2: .line 492
            iflt 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 1 // com.google.common.collect.Range other
        end local 0 // com.google.common.collect.Range this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lcom/google/common/collect/Range<TC;>;
            0    4     1  other  Lcom/google/common/collect/Range<TC;>;
    Signature: (Lcom/google/common/collect/Range<TC;>;)Z
    MethodParameters:
       Name  Flags
      other  

  public boolean isConnected(com.google.common.collect.Range<C>);
    descriptor: (Lcom/google/common/collect/Range;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.google.common.collect.Range this
        start local 1 // com.google.common.collect.Range other
         0: .line 522
            aload 0 /* this */
            getfield com.google.common.collect.Range.lowerBound:Lcom/google/common/collect/Cut;
            aload 1 /* other */
            getfield com.google.common.collect.Range.upperBound:Lcom/google/common/collect/Cut;
            invokevirtual com.google.common.collect.Cut.compareTo:(Lcom/google/common/collect/Cut;)I
            ifgt 3
         1: .line 523
            aload 1 /* other */
            getfield com.google.common.collect.Range.lowerBound:Lcom/google/common/collect/Cut;
            aload 0 /* this */
            getfield com.google.common.collect.Range.upperBound:Lcom/google/common/collect/Cut;
            invokevirtual com.google.common.collect.Cut.compareTo:(Lcom/google/common/collect/Cut;)I
         2: .line 522
            ifgt 3
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_0
            ireturn
        end local 1 // com.google.common.collect.Range other
        end local 0 // com.google.common.collect.Range this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lcom/google/common/collect/Range<TC;>;
            0    4     1  other  Lcom/google/common/collect/Range<TC;>;
    Signature: (Lcom/google/common/collect/Range<TC;>;)Z
    MethodParameters:
       Name  Flags
      other  

  public com.google.common.collect.Range<C> intersection(com.google.common.collect.Range<C>);
    descriptor: (Lcom/google/common/collect/Range;)Lcom/google/common/collect/Range;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // com.google.common.collect.Range this
        start local 1 // com.google.common.collect.Range connectedRange
         0: .line 543
            aload 0 /* this */
            getfield com.google.common.collect.Range.lowerBound:Lcom/google/common/collect/Cut;
            aload 1 /* connectedRange */
            getfield com.google.common.collect.Range.lowerBound:Lcom/google/common/collect/Cut;
            invokevirtual com.google.common.collect.Cut.compareTo:(Lcom/google/common/collect/Cut;)I
            istore 2 /* lowerCmp */
        start local 2 // int lowerCmp
         1: .line 544
            aload 0 /* this */
            getfield com.google.common.collect.Range.upperBound:Lcom/google/common/collect/Cut;
            aload 1 /* connectedRange */
            getfield com.google.common.collect.Range.upperBound:Lcom/google/common/collect/Cut;
            invokevirtual com.google.common.collect.Cut.compareTo:(Lcom/google/common/collect/Cut;)I
            istore 3 /* upperCmp */
        start local 3 // int upperCmp
         2: .line 545
            iload 2 /* lowerCmp */
            iflt 4
            iload 3 /* upperCmp */
            ifgt 4
         3: .line 546
            aload 0 /* this */
            areturn
         4: .line 547
      StackMap locals: int int
      StackMap stack:
            iload 2 /* lowerCmp */
            ifgt 6
            iload 3 /* upperCmp */
            iflt 6
         5: .line 548
            aload 1 /* connectedRange */
            areturn
         6: .line 550
      StackMap locals:
      StackMap stack:
            iload 2 /* lowerCmp */
            iflt 7
            aload 0 /* this */
            getfield com.google.common.collect.Range.lowerBound:Lcom/google/common/collect/Cut;
            goto 8
      StackMap locals:
      StackMap stack:
         7: aload 1 /* connectedRange */
            getfield com.google.common.collect.Range.lowerBound:Lcom/google/common/collect/Cut;
      StackMap locals:
      StackMap stack: com.google.common.collect.Cut
         8: astore 4 /* newLower */
        start local 4 // com.google.common.collect.Cut newLower
         9: .line 551
            iload 3 /* upperCmp */
            ifgt 10
            aload 0 /* this */
            getfield com.google.common.collect.Range.upperBound:Lcom/google/common/collect/Cut;
            goto 11
      StackMap locals: com.google.common.collect.Cut
      StackMap stack:
        10: aload 1 /* connectedRange */
            getfield com.google.common.collect.Range.upperBound:Lcom/google/common/collect/Cut;
      StackMap locals:
      StackMap stack: com.google.common.collect.Cut
        11: astore 5 /* newUpper */
        start local 5 // com.google.common.collect.Cut newUpper
        12: .line 552
            aload 4 /* newLower */
            aload 5 /* newUpper */
            invokestatic com.google.common.collect.Range.create:(Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)Lcom/google/common/collect/Range;
            areturn
        end local 5 // com.google.common.collect.Cut newUpper
        end local 4 // com.google.common.collect.Cut newLower
        end local 3 // int upperCmp
        end local 2 // int lowerCmp
        end local 1 // com.google.common.collect.Range connectedRange
        end local 0 // com.google.common.collect.Range this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0            this  Lcom/google/common/collect/Range<TC;>;
            0   13     1  connectedRange  Lcom/google/common/collect/Range<TC;>;
            1   13     2        lowerCmp  I
            2   13     3        upperCmp  I
            9   13     4        newLower  Lcom/google/common/collect/Cut<TC;>;
           12   13     5        newUpper  Lcom/google/common/collect/Cut<TC;>;
    Signature: (Lcom/google/common/collect/Range<TC;>;)Lcom/google/common/collect/Range<TC;>;
    MethodParameters:
                Name  Flags
      connectedRange  

  public com.google.common.collect.Range<C> span(com.google.common.collect.Range<C>);
    descriptor: (Lcom/google/common/collect/Range;)Lcom/google/common/collect/Range;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // com.google.common.collect.Range this
        start local 1 // com.google.common.collect.Range other
         0: .line 568
            aload 0 /* this */
            getfield com.google.common.collect.Range.lowerBound:Lcom/google/common/collect/Cut;
            aload 1 /* other */
            getfield com.google.common.collect.Range.lowerBound:Lcom/google/common/collect/Cut;
            invokevirtual com.google.common.collect.Cut.compareTo:(Lcom/google/common/collect/Cut;)I
            istore 2 /* lowerCmp */
        start local 2 // int lowerCmp
         1: .line 569
            aload 0 /* this */
            getfield com.google.common.collect.Range.upperBound:Lcom/google/common/collect/Cut;
            aload 1 /* other */
            getfield com.google.common.collect.Range.upperBound:Lcom/google/common/collect/Cut;
            invokevirtual com.google.common.collect.Cut.compareTo:(Lcom/google/common/collect/Cut;)I
            istore 3 /* upperCmp */
        start local 3 // int upperCmp
         2: .line 570
            iload 2 /* lowerCmp */
            ifgt 4
            iload 3 /* upperCmp */
            iflt 4
         3: .line 571
            aload 0 /* this */
            areturn
         4: .line 572
      StackMap locals: int int
      StackMap stack:
            iload 2 /* lowerCmp */
            iflt 6
            iload 3 /* upperCmp */
            ifgt 6
         5: .line 573
            aload 1 /* other */
            areturn
         6: .line 575
      StackMap locals:
      StackMap stack:
            iload 2 /* lowerCmp */
            ifgt 7
            aload 0 /* this */
            getfield com.google.common.collect.Range.lowerBound:Lcom/google/common/collect/Cut;
            goto 8
      StackMap locals:
      StackMap stack:
         7: aload 1 /* other */
            getfield com.google.common.collect.Range.lowerBound:Lcom/google/common/collect/Cut;
      StackMap locals:
      StackMap stack: com.google.common.collect.Cut
         8: astore 4 /* newLower */
        start local 4 // com.google.common.collect.Cut newLower
         9: .line 576
            iload 3 /* upperCmp */
            iflt 10
            aload 0 /* this */
            getfield com.google.common.collect.Range.upperBound:Lcom/google/common/collect/Cut;
            goto 11
      StackMap locals: com.google.common.collect.Cut
      StackMap stack:
        10: aload 1 /* other */
            getfield com.google.common.collect.Range.upperBound:Lcom/google/common/collect/Cut;
      StackMap locals:
      StackMap stack: com.google.common.collect.Cut
        11: astore 5 /* newUpper */
        start local 5 // com.google.common.collect.Cut newUpper
        12: .line 577
            aload 4 /* newLower */
            aload 5 /* newUpper */
            invokestatic com.google.common.collect.Range.create:(Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)Lcom/google/common/collect/Range;
            areturn
        end local 5 // com.google.common.collect.Cut newUpper
        end local 4 // com.google.common.collect.Cut newLower
        end local 3 // int upperCmp
        end local 2 // int lowerCmp
        end local 1 // com.google.common.collect.Range other
        end local 0 // com.google.common.collect.Range this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   13     0      this  Lcom/google/common/collect/Range<TC;>;
            0   13     1     other  Lcom/google/common/collect/Range<TC;>;
            1   13     2  lowerCmp  I
            2   13     3  upperCmp  I
            9   13     4  newLower  Lcom/google/common/collect/Cut<TC;>;
           12   13     5  newUpper  Lcom/google/common/collect/Cut<TC;>;
    Signature: (Lcom/google/common/collect/Range<TC;>;)Lcom/google/common/collect/Range<TC;>;
    MethodParameters:
       Name  Flags
      other  

  public com.google.common.collect.Range<C> canonical(com.google.common.collect.DiscreteDomain<C>);
    descriptor: (Lcom/google/common/collect/DiscreteDomain;)Lcom/google/common/collect/Range;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // com.google.common.collect.Range this
        start local 1 // com.google.common.collect.DiscreteDomain domain
         0: .line 606
            aload 1 /* domain */
            invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 607
            aload 0 /* this */
            getfield com.google.common.collect.Range.lowerBound:Lcom/google/common/collect/Cut;
            aload 1 /* domain */
            invokevirtual com.google.common.collect.Cut.canonical:(Lcom/google/common/collect/DiscreteDomain;)Lcom/google/common/collect/Cut;
            astore 2 /* lower */
        start local 2 // com.google.common.collect.Cut lower
         2: .line 608
            aload 0 /* this */
            getfield com.google.common.collect.Range.upperBound:Lcom/google/common/collect/Cut;
            aload 1 /* domain */
            invokevirtual com.google.common.collect.Cut.canonical:(Lcom/google/common/collect/DiscreteDomain;)Lcom/google/common/collect/Cut;
            astore 3 /* upper */
        start local 3 // com.google.common.collect.Cut upper
         3: .line 609
            aload 2 /* lower */
            aload 0 /* this */
            getfield com.google.common.collect.Range.lowerBound:Lcom/google/common/collect/Cut;
            if_acmpne 4
            aload 3 /* upper */
            aload 0 /* this */
            getfield com.google.common.collect.Range.upperBound:Lcom/google/common/collect/Cut;
            if_acmpne 4
            aload 0 /* this */
            goto 5
      StackMap locals: com.google.common.collect.Cut com.google.common.collect.Cut
      StackMap stack:
         4: aload 2 /* lower */
            aload 3 /* upper */
            invokestatic com.google.common.collect.Range.create:(Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)Lcom/google/common/collect/Range;
      StackMap locals:
      StackMap stack: com.google.common.collect.Range
         5: areturn
        end local 3 // com.google.common.collect.Cut upper
        end local 2 // com.google.common.collect.Cut lower
        end local 1 // com.google.common.collect.DiscreteDomain domain
        end local 0 // com.google.common.collect.Range this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lcom/google/common/collect/Range<TC;>;
            0    6     1  domain  Lcom/google/common/collect/DiscreteDomain<TC;>;
            2    6     2   lower  Lcom/google/common/collect/Cut<TC;>;
            3    6     3   upper  Lcom/google/common/collect/Cut<TC;>;
    Signature: (Lcom/google/common/collect/DiscreteDomain<TC;>;)Lcom/google/common/collect/Range<TC;>;
    MethodParameters:
        Name  Flags
      domain  

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.google.common.collect.Range this
        start local 1 // java.lang.Object object
         0: .line 621
            aload 1 /* object */
            instanceof com.google.common.collect.Range
            ifeq 4
         1: .line 622
            aload 1 /* object */
            checkcast com.google.common.collect.Range
            astore 2 /* other */
        start local 2 // com.google.common.collect.Range other
         2: .line 623
            aload 0 /* this */
            getfield com.google.common.collect.Range.lowerBound:Lcom/google/common/collect/Cut;
            aload 2 /* other */
            getfield com.google.common.collect.Range.lowerBound:Lcom/google/common/collect/Cut;
            invokevirtual com.google.common.collect.Cut.equals:(Ljava/lang/Object;)Z
            ifeq 3
            aload 0 /* this */
            getfield com.google.common.collect.Range.upperBound:Lcom/google/common/collect/Cut;
            aload 2 /* other */
            getfield com.google.common.collect.Range.upperBound:Lcom/google/common/collect/Cut;
            invokevirtual com.google.common.collect.Cut.equals:(Ljava/lang/Object;)Z
            ifeq 3
            iconst_1
            ireturn
      StackMap locals: com.google.common.collect.Range
      StackMap stack:
         3: iconst_0
            ireturn
        end local 2 // com.google.common.collect.Range other
         4: .line 625
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object object
        end local 0 // com.google.common.collect.Range this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lcom/google/common/collect/Range<TC;>;
            0    5     1  object  Ljava/lang/Object;
            2    4     2   other  Lcom/google/common/collect/Range<*>;
    RuntimeVisibleTypeAnnotations: 
      METHOD_FORMAL_PARAMETER
        org.checkerframework.checker.nullness.qual.Nullable()
    MethodParameters:
        Name  Flags
      object  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.common.collect.Range this
         0: .line 631
            aload 0 /* this */
            getfield com.google.common.collect.Range.lowerBound:Lcom/google/common/collect/Cut;
            invokevirtual com.google.common.collect.Cut.hashCode:()I
            bipush 31
            imul
            aload 0 /* this */
            getfield com.google.common.collect.Range.upperBound:Lcom/google/common/collect/Cut;
            invokevirtual com.google.common.collect.Cut.hashCode:()I
            iadd
            ireturn
        end local 0 // com.google.common.collect.Range this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/collect/Range<TC;>;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.common.collect.Range this
         0: .line 640
            aload 0 /* this */
            getfield com.google.common.collect.Range.lowerBound:Lcom/google/common/collect/Cut;
            aload 0 /* this */
            getfield com.google.common.collect.Range.upperBound:Lcom/google/common/collect/Cut;
            invokestatic com.google.common.collect.Range.toString:(Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)Ljava/lang/String;
            areturn
        end local 0 // com.google.common.collect.Range this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/google/common/collect/Range<TC;>;

  private static java.lang.String toString(com.google.common.collect.Cut<?>, com.google.common.collect.Cut<?>);
    descriptor: (Lcom/google/common/collect/Cut;Lcom/google/common/collect/Cut;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.google.common.collect.Cut lowerBound
        start local 1 // com.google.common.collect.Cut upperBound
         0: .line 644
            new java.lang.StringBuilder
            dup
            bipush 16
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 2 /* sb */
        start local 2 // java.lang.StringBuilder sb
         1: .line 645
            aload 0 /* lowerBound */
            aload 2 /* sb */
            invokevirtual com.google.common.collect.Cut.describeAsLowerBound:(Ljava/lang/StringBuilder;)V
         2: .line 646
            aload 2 /* sb */
            ldc ".."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 647
            aload 1 /* upperBound */
            aload 2 /* sb */
            invokevirtual com.google.common.collect.Cut.describeAsUpperBound:(Ljava/lang/StringBuilder;)V
         4: .line 648
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder sb
        end local 1 // com.google.common.collect.Cut upperBound
        end local 0 // com.google.common.collect.Cut lowerBound
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0  lowerBound  Lcom/google/common/collect/Cut<*>;
            0    5     1  upperBound  Lcom/google/common/collect/Cut<*>;
            1    5     2          sb  Ljava/lang/StringBuilder;
    Signature: (Lcom/google/common/collect/Cut<*>;Lcom/google/common/collect/Cut<*>;)Ljava/lang/String;
    MethodParameters:
            Name  Flags
      lowerBound  
      upperBound  

  private static <T> java.util.SortedSet<T> cast(java.lang.Iterable<T>);
    descriptor: (Ljava/lang/Iterable;)Ljava/util/SortedSet;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Iterable iterable
         0: .line 653
            aload 0 /* iterable */
            checkcast java.util.SortedSet
            areturn
        end local 0 // java.lang.Iterable iterable
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  iterable  Ljava/lang/Iterable<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/lang/Iterable<TT;>;)Ljava/util/SortedSet<TT;>;
    MethodParameters:
          Name  Flags
      iterable  

  java.lang.Object readResolve();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.google.common.collect.Range this
         0: .line 657
            aload 0 /* this */
            getstatic com.google.common.collect.Range.ALL:Lcom/google/common/collect/Range;
            invokevirtual com.google.common.collect.Range.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 658
            invokestatic com.google.common.collect.Range.all:()Lcom/google/common/collect/Range;
            areturn
         2: .line 660
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 0 // com.google.common.collect.Range this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/google/common/collect/Range<TC;>;

  static int compareOrThrow(java.lang.Comparable, java.lang.Comparable);
    descriptor: (Ljava/lang/Comparable;Ljava/lang/Comparable;)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Comparable left
        start local 1 // java.lang.Comparable right
         0: .line 666
            aload 0 /* left */
            aload 1 /* right */
            invokeinterface java.lang.Comparable.compareTo:(Ljava/lang/Object;)I
            ireturn
        end local 1 // java.lang.Comparable right
        end local 0 // java.lang.Comparable left
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   left  Ljava/lang/Comparable;
            0    1     1  right  Ljava/lang/Comparable;
    MethodParameters:
       Name  Flags
      left   
      right  

  public boolean apply(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            checkcast java.lang.Comparable
            invokevirtual com.google.common.collect.Range.apply:(Ljava/lang/Comparable;)Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static int[] $SWITCH_TABLE$com$google$common$collect$BoundType();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 119
            getstatic com.google.common.collect.Range.$SWITCH_TABLE$com$google$common$collect$BoundType:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic com.google.common.collect.BoundType.values:()[Lcom/google/common/collect/BoundType;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic com.google.common.collect.BoundType.CLOSED:Lcom/google/common/collect/BoundType;
            invokevirtual com.google.common.collect.BoundType.ordinal:()I
            iconst_2
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic com.google.common.collect.BoundType.OPEN:Lcom/google/common/collect/BoundType;
            invokevirtual com.google.common.collect.BoundType.ordinal:()I
            iconst_1
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            dup
            putstatic com.google.common.collect.Range.$SWITCH_TABLE$com$google$common$collect$BoundType:[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
}
Signature: <C::Ljava/lang/Comparable;>Lcom/google/common/collect/RangeGwtSerializationDependencies;Lcom/google/common/base/Predicate<TC;>;Ljava/io/Serializable;
SourceFile: "Range.java"
NestMembers:
  com.google.common.collect.Range$LowerBoundFn  com.google.common.collect.Range$RangeLexOrdering  com.google.common.collect.Range$UpperBoundFn
InnerClasses:
  LowerBoundFn = com.google.common.collect.Range$LowerBoundFn of com.google.common.collect.Range
  private RangeLexOrdering = com.google.common.collect.Range$RangeLexOrdering of com.google.common.collect.Range
  UpperBoundFn = com.google.common.collect.Range$UpperBoundFn of com.google.common.collect.Range
    RuntimeInvisibleAnnotations: 
      com.google.common.annotations.GwtCompatible()