public class org.jooq.lambda.tuple.Range<T extends java.lang.Comparable<T>> extends org.jooq.lambda.tuple.Tuple2<T, T>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jooq.lambda.tuple.Range
  super_class: org.jooq.lambda.tuple.Tuple2
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public void <init>(T, );
    descriptor: (Ljava/lang/Comparable;Ljava/lang/Comparable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jooq.lambda.tuple.Range this
        start local 1 // java.lang.Comparable v1
        start local 2 // java.lang.Comparable v2
         0: .line 30
            aload 0 /* this */
            aload 1 /* v1 */
            aload 2 /* v2 */
            invokestatic org.jooq.lambda.tuple.Range.r:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Lorg/jooq/lambda/tuple/Tuple2;
            invokespecial org.jooq.lambda.tuple.Tuple2.<init>:(Lorg/jooq/lambda/tuple/Tuple2;)V
         1: .line 31
            return
        end local 2 // java.lang.Comparable v2
        end local 1 // java.lang.Comparable v1
        end local 0 // org.jooq.lambda.tuple.Range this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/jooq/lambda/tuple/Range<TT;>;
            0    2     1    v1  TT;
            0    2     2    v2  TT;
    Signature: (TT;TT;)V
    MethodParameters:
      Name  Flags
      v1    
      v2    

  public void <init>(org.jooq.lambda.tuple.Tuple2<T, T>);
    descriptor: (Lorg/jooq/lambda/tuple/Tuple2;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jooq.lambda.tuple.Range this
        start local 1 // org.jooq.lambda.tuple.Tuple2 tuple
         0: .line 34
            aload 0 /* this */
            aload 1 /* tuple */
            getfield org.jooq.lambda.tuple.Tuple2.v1:Ljava/lang/Object;
            checkcast java.lang.Comparable
            aload 1 /* tuple */
            getfield org.jooq.lambda.tuple.Tuple2.v2:Ljava/lang/Object;
            checkcast java.lang.Comparable
            invokespecial org.jooq.lambda.tuple.Range.<init>:(Ljava/lang/Comparable;Ljava/lang/Comparable;)V
         1: .line 35
            return
        end local 1 // org.jooq.lambda.tuple.Tuple2 tuple
        end local 0 // org.jooq.lambda.tuple.Range this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/jooq/lambda/tuple/Range<TT;>;
            0    2     1  tuple  Lorg/jooq/lambda/tuple/Tuple2<TT;TT;>;
    Signature: (Lorg/jooq/lambda/tuple/Tuple2<TT;TT;>;)V
    MethodParameters:
       Name  Flags
      tuple  

  private static <T extends java.lang.Comparable<T>> org.jooq.lambda.tuple.Tuple2<T, T> r(T, T);
    descriptor: (Ljava/lang/Comparable;Ljava/lang/Comparable;)Lorg/jooq/lambda/tuple/Tuple2;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.lang.Comparable t1
        start local 1 // java.lang.Comparable t2
         0: .line 38
            aload 0 /* t1 */
            aload 1 /* t2 */
            invokeinterface java.lang.Comparable.compareTo:(Ljava/lang/Object;)I
            ifgt 1
            new org.jooq.lambda.tuple.Tuple2
            dup
            aload 0 /* t1 */
            aload 1 /* t2 */
            invokespecial org.jooq.lambda.tuple.Tuple2.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
            goto 2
      StackMap locals:
      StackMap stack:
         1: new org.jooq.lambda.tuple.Tuple2
            dup
            aload 1 /* t2 */
            aload 0 /* t1 */
            invokespecial org.jooq.lambda.tuple.Tuple2.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
      StackMap locals:
      StackMap stack: org.jooq.lambda.tuple.Tuple2
         2: areturn
        end local 1 // java.lang.Comparable t2
        end local 0 // java.lang.Comparable t1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0    t1  TT;
            0    3     1    t2  TT;
    Signature: <T::Ljava/lang/Comparable<TT;>;>(TT;TT;)Lorg/jooq/lambda/tuple/Tuple2<TT;TT;>;
    MethodParameters:
      Name  Flags
      t1    
      t2    

  public boolean overlaps(org.jooq.lambda.tuple.Tuple2<T, T>);
    descriptor: (Lorg/jooq/lambda/tuple/Tuple2;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jooq.lambda.tuple.Range this
        start local 1 // org.jooq.lambda.tuple.Tuple2 other
         0: .line 53
            aload 0 /* this */
            aload 1 /* other */
            invokestatic org.jooq.lambda.tuple.Tuple2.overlaps:(Lorg/jooq/lambda/tuple/Tuple2;Lorg/jooq/lambda/tuple/Tuple2;)Z
            ireturn
        end local 1 // org.jooq.lambda.tuple.Tuple2 other
        end local 0 // org.jooq.lambda.tuple.Range this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jooq/lambda/tuple/Range<TT;>;
            0    1     1  other  Lorg/jooq/lambda/tuple/Tuple2<TT;TT;>;
    Signature: (Lorg/jooq/lambda/tuple/Tuple2<TT;TT;>;)Z
    MethodParameters:
       Name  Flags
      other  

  public boolean overlaps(T, );
    descriptor: (Ljava/lang/Comparable;Ljava/lang/Comparable;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jooq.lambda.tuple.Range this
        start local 1 // java.lang.Comparable t1
        start local 2 // java.lang.Comparable t2
         0: .line 68
            aload 0 /* this */
            new org.jooq.lambda.tuple.Range
            dup
            aload 1 /* t1 */
            aload 2 /* t2 */
            invokespecial org.jooq.lambda.tuple.Range.<init>:(Ljava/lang/Comparable;Ljava/lang/Comparable;)V
            invokevirtual org.jooq.lambda.tuple.Range.overlaps:(Lorg/jooq/lambda/tuple/Tuple2;)Z
            ireturn
        end local 2 // java.lang.Comparable t2
        end local 1 // java.lang.Comparable t1
        end local 0 // org.jooq.lambda.tuple.Range this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jooq/lambda/tuple/Range<TT;>;
            0    1     1    t1  TT;
            0    1     2    t2  TT;
    Signature: (TT;TT;)Z
    MethodParameters:
      Name  Flags
      t1    
      t2    

  public java.util.Optional<org.jooq.lambda.tuple.Range<T>> intersect(org.jooq.lambda.tuple.Tuple2<T, T>);
    descriptor: (Lorg/jooq/lambda/tuple/Tuple2;)Ljava/util/Optional;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jooq.lambda.tuple.Range this
        start local 1 // org.jooq.lambda.tuple.Tuple2 other
         0: .line 83
            aload 0 /* this */
            aload 1 /* other */
            invokestatic org.jooq.lambda.tuple.Tuple2.intersect:(Lorg/jooq/lambda/tuple/Tuple2;Lorg/jooq/lambda/tuple/Tuple2;)Ljava/util/Optional;
            invokedynamic apply()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;
                  org/jooq/lambda/tuple/Range.<init>(Lorg/jooq/lambda/tuple/Tuple2;)V (8)
                  (Lorg/jooq/lambda/tuple/Tuple2;)Lorg/jooq/lambda/tuple/Range;
            invokevirtual java.util.Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional;
            areturn
        end local 1 // org.jooq.lambda.tuple.Tuple2 other
        end local 0 // org.jooq.lambda.tuple.Range this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/jooq/lambda/tuple/Range<TT;>;
            0    1     1  other  Lorg/jooq/lambda/tuple/Tuple2<TT;TT;>;
    Signature: (Lorg/jooq/lambda/tuple/Tuple2<TT;TT;>;)Ljava/util/Optional<Lorg/jooq/lambda/tuple/Range<TT;>;>;
    MethodParameters:
       Name  Flags
      other  

  public java.util.Optional<org.jooq.lambda.tuple.Range<T>> intersect(T, T);
    descriptor: (Ljava/lang/Comparable;Ljava/lang/Comparable;)Ljava/util/Optional;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jooq.lambda.tuple.Range this
        start local 1 // java.lang.Comparable t1
        start local 2 // java.lang.Comparable t2
         0: .line 98
            aload 0 /* this */
            new org.jooq.lambda.tuple.Range
            dup
            aload 1 /* t1 */
            aload 2 /* t2 */
            invokespecial org.jooq.lambda.tuple.Range.<init>:(Ljava/lang/Comparable;Ljava/lang/Comparable;)V
            invokevirtual org.jooq.lambda.tuple.Range.intersect:(Lorg/jooq/lambda/tuple/Tuple2;)Ljava/util/Optional;
            areturn
        end local 2 // java.lang.Comparable t2
        end local 1 // java.lang.Comparable t1
        end local 0 // org.jooq.lambda.tuple.Range this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jooq/lambda/tuple/Range<TT;>;
            0    1     1    t1  TT;
            0    1     2    t2  TT;
    Signature: (TT;TT;)Ljava/util/Optional<Lorg/jooq/lambda/tuple/Range<TT;>;>;
    MethodParameters:
      Name  Flags
      t1    
      t2    
}
Signature: <T::Ljava/lang/Comparable<TT;>;>Lorg/jooq/lambda/tuple/Tuple2<TT;TT;>;
SourceFile: "Range.java"
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles