public class org.apache.cassandra.dht.Bounds<T extends org.apache.cassandra.dht.RingPosition<T>> extends org.apache.cassandra.dht.AbstractBounds<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.dht.Bounds
  super_class: org.apache.cassandra.dht.AbstractBounds
{
  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 37
            ldc Lorg/apache/cassandra/dht/Bounds;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic org.apache.cassandra.dht.Bounds.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(T, );
    descriptor: (Lorg/apache/cassandra/dht/RingPosition;Lorg/apache/cassandra/dht/RingPosition;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.apache.cassandra.dht.Bounds this
        start local 1 // org.apache.cassandra.dht.RingPosition left
        start local 2 // org.apache.cassandra.dht.RingPosition right
         0: .line 41
            aload 0 /* this */
            aload 1 /* left */
            aload 2 /* right */
            invokespecial org.apache.cassandra.dht.AbstractBounds.<init>:(Lorg/apache/cassandra/dht/RingPosition;Lorg/apache/cassandra/dht/RingPosition;)V
         1: .line 43
            getstatic org.apache.cassandra.dht.Bounds.$assertionsDisabled:Z
            ifne 2
            aload 1 /* left */
            aload 2 /* right */
            invokestatic org.apache.cassandra.dht.Bounds.strictlyWrapsAround:(Lorg/apache/cassandra/dht/RingPosition;Lorg/apache/cassandra/dht/RingPosition;)Z
            ifeq 2
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* left */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* right */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 44
      StackMap locals: org.apache.cassandra.dht.Bounds org.apache.cassandra.dht.RingPosition org.apache.cassandra.dht.RingPosition
      StackMap stack:
            return
        end local 2 // org.apache.cassandra.dht.RingPosition right
        end local 1 // org.apache.cassandra.dht.RingPosition left
        end local 0 // org.apache.cassandra.dht.Bounds this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/apache/cassandra/dht/Bounds<TT;>;
            0    3     1   left  TT;
            0    3     2  right  TT;
    Signature: (TT;TT;)V
    MethodParameters:
       Name  Flags
      left   
      right  

  public boolean contains();
    descriptor: (Lorg/apache/cassandra/dht/RingPosition;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.cassandra.dht.Bounds this
        start local 1 // org.apache.cassandra.dht.RingPosition position
         0: .line 51
            aload 0 /* this */
            getfield org.apache.cassandra.dht.Bounds.left:Lorg/apache/cassandra/dht/RingPosition;
            aload 1 /* position */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 3
            aload 0 /* this */
            getfield org.apache.cassandra.dht.Bounds.right:Lorg/apache/cassandra/dht/RingPosition;
            invokeinterface org.apache.cassandra.dht.RingPosition.isMinimum:()Z
            ifne 1
            aload 0 /* this */
            getfield org.apache.cassandra.dht.Bounds.left:Lorg/apache/cassandra/dht/RingPosition;
            aload 0 /* this */
            getfield org.apache.cassandra.dht.Bounds.right:Lorg/apache/cassandra/dht/RingPosition;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield org.apache.cassandra.dht.Bounds.left:Lorg/apache/cassandra/dht/RingPosition;
            aload 0 /* this */
            getfield org.apache.cassandra.dht.Bounds.right:Lorg/apache/cassandra/dht/RingPosition;
            aload 1 /* position */
            invokestatic org.apache.cassandra.dht.Range.contains:(Lorg/apache/cassandra/dht/RingPosition;Lorg/apache/cassandra/dht/RingPosition;Lorg/apache/cassandra/dht/RingPosition;)Z
            ifne 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
        end local 1 // org.apache.cassandra.dht.RingPosition position
        end local 0 // org.apache.cassandra.dht.Bounds this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/apache/cassandra/dht/Bounds<TT;>;
            0    4     1  position  TT;
    Signature: (TT;)Z
    MethodParameters:
          Name  Flags
      position  

  public org.apache.cassandra.utils.Pair<org.apache.cassandra.dht.AbstractBounds<T>, org.apache.cassandra.dht.AbstractBounds<T>> split(T);
    descriptor: (Lorg/apache/cassandra/dht/RingPosition;)Lorg/apache/cassandra/utils/Pair;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.apache.cassandra.dht.Bounds this
        start local 1 // org.apache.cassandra.dht.RingPosition position
         0: .line 56
            getstatic org.apache.cassandra.dht.Bounds.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            aload 1 /* position */
            invokevirtual org.apache.cassandra.dht.Bounds.contains:(Lorg/apache/cassandra/dht/RingPosition;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 58
      StackMap locals:
      StackMap stack:
            aload 1 /* position */
            aload 0 /* this */
            getfield org.apache.cassandra.dht.Bounds.right:Lorg/apache/cassandra/dht/RingPosition;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 59
            aconst_null
            areturn
         3: .line 61
      StackMap locals:
      StackMap stack:
            new org.apache.cassandra.dht.Bounds
            dup
            aload 0 /* this */
            getfield org.apache.cassandra.dht.Bounds.left:Lorg/apache/cassandra/dht/RingPosition;
            aload 1 /* position */
            invokespecial org.apache.cassandra.dht.Bounds.<init>:(Lorg/apache/cassandra/dht/RingPosition;Lorg/apache/cassandra/dht/RingPosition;)V
            astore 2 /* lb */
        start local 2 // org.apache.cassandra.dht.AbstractBounds lb
         4: .line 62
            new org.apache.cassandra.dht.Range
            dup
            aload 1 /* position */
            aload 0 /* this */
            getfield org.apache.cassandra.dht.Bounds.right:Lorg/apache/cassandra/dht/RingPosition;
            invokespecial org.apache.cassandra.dht.Range.<init>:(Lorg/apache/cassandra/dht/RingPosition;Lorg/apache/cassandra/dht/RingPosition;)V
            astore 3 /* rb */
        start local 3 // org.apache.cassandra.dht.AbstractBounds rb
         5: .line 63
            aload 2 /* lb */
            aload 3 /* rb */
            invokestatic org.apache.cassandra.utils.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/apache/cassandra/utils/Pair;
            areturn
        end local 3 // org.apache.cassandra.dht.AbstractBounds rb
        end local 2 // org.apache.cassandra.dht.AbstractBounds lb
        end local 1 // org.apache.cassandra.dht.RingPosition position
        end local 0 // org.apache.cassandra.dht.Bounds this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/apache/cassandra/dht/Bounds<TT;>;
            0    6     1  position  TT;
            4    6     2        lb  Lorg/apache/cassandra/dht/AbstractBounds<TT;>;
            5    6     3        rb  Lorg/apache/cassandra/dht/AbstractBounds<TT;>;
    Signature: (TT;)Lorg/apache/cassandra/utils/Pair<Lorg/apache/cassandra/dht/AbstractBounds<TT;>;Lorg/apache/cassandra/dht/AbstractBounds<TT;>;>;
    MethodParameters:
          Name  Flags
      position  

  public boolean inclusiveLeft();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.dht.Bounds this
         0: .line 68
            iconst_1
            ireturn
        end local 0 // org.apache.cassandra.dht.Bounds this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/dht/Bounds<TT;>;

  public boolean inclusiveRight();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.dht.Bounds this
         0: .line 73
            iconst_1
            ireturn
        end local 0 // org.apache.cassandra.dht.Bounds this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/dht/Bounds<TT;>;

  public boolean intersects(org.apache.cassandra.dht.Bounds<T>);
    descriptor: (Lorg/apache/cassandra/dht/Bounds;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.dht.Bounds this
        start local 1 // org.apache.cassandra.dht.Bounds that
         0: .line 79
            aload 0 /* this */
            aload 1 /* that */
            getfield org.apache.cassandra.dht.Bounds.left:Lorg/apache/cassandra/dht/RingPosition;
            invokevirtual org.apache.cassandra.dht.Bounds.contains:(Lorg/apache/cassandra/dht/RingPosition;)Z
            ifne 1
            aload 0 /* this */
            aload 1 /* that */
            getfield org.apache.cassandra.dht.Bounds.right:Lorg/apache/cassandra/dht/RingPosition;
            invokevirtual org.apache.cassandra.dht.Bounds.contains:(Lorg/apache/cassandra/dht/RingPosition;)Z
            ifne 1
            aload 1 /* that */
            aload 0 /* this */
            getfield org.apache.cassandra.dht.Bounds.left:Lorg/apache/cassandra/dht/RingPosition;
            invokevirtual org.apache.cassandra.dht.Bounds.contains:(Lorg/apache/cassandra/dht/RingPosition;)Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // org.apache.cassandra.dht.Bounds that
        end local 0 // org.apache.cassandra.dht.Bounds this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/dht/Bounds<TT;>;
            0    2     1  that  Lorg/apache/cassandra/dht/Bounds<TT;>;
    Signature: (Lorg/apache/cassandra/dht/Bounds<TT;>;)Z
    MethodParameters:
      Name  Flags
      that  

  public java.util.List<? extends org.apache.cassandra.dht.AbstractBounds<T>> unwrap();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.dht.Bounds this
         0: .line 85
            aload 0 /* this */
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            areturn
        end local 0 // org.apache.cassandra.dht.Bounds this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/dht/Bounds<TT;>;
    Signature: ()Ljava/util/List<+Lorg/apache/cassandra/dht/AbstractBounds<TT;>;>;

  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 // org.apache.cassandra.dht.Bounds this
        start local 1 // java.lang.Object o
         0: .line 91
            aload 1 /* o */
            instanceof org.apache.cassandra.dht.Bounds
            ifne 2
         1: .line 92
            iconst_0
            ireturn
         2: .line 93
      StackMap locals:
      StackMap stack:
            aload 1 /* o */
            checkcast org.apache.cassandra.dht.Bounds
            astore 2 /* rhs */
        start local 2 // org.apache.cassandra.dht.Bounds rhs
         3: .line 94
            aload 0 /* this */
            getfield org.apache.cassandra.dht.Bounds.left:Lorg/apache/cassandra/dht/RingPosition;
            aload 2 /* rhs */
            getfield org.apache.cassandra.dht.Bounds.left:Lorg/apache/cassandra/dht/RingPosition;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 4
            aload 0 /* this */
            getfield org.apache.cassandra.dht.Bounds.right:Lorg/apache/cassandra/dht/RingPosition;
            aload 2 /* rhs */
            getfield org.apache.cassandra.dht.Bounds.right:Lorg/apache/cassandra/dht/RingPosition;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 4
            iconst_1
            ireturn
      StackMap locals: org.apache.cassandra.dht.Bounds
      StackMap stack:
         4: iconst_0
            ireturn
        end local 2 // org.apache.cassandra.dht.Bounds rhs
        end local 1 // java.lang.Object o
        end local 0 // org.apache.cassandra.dht.Bounds this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/apache/cassandra/dht/Bounds<TT;>;
            0    5     1     o  Ljava/lang/Object;
            3    5     2   rhs  Lorg/apache/cassandra/dht/Bounds<*>;
    MethodParameters:
      Name  Flags
      o     

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.cassandra.dht.Bounds this
         0: .line 100
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.apache.cassandra.dht.Bounds.left:Lorg/apache/cassandra/dht/RingPosition;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.cassandra.dht.Bounds.right:Lorg/apache/cassandra/dht/RingPosition;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.apache.cassandra.dht.Bounds this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/dht/Bounds<TT;>;

  protected java.lang.String getOpeningString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.dht.Bounds this
         0: .line 105
            ldc "["
            areturn
        end local 0 // org.apache.cassandra.dht.Bounds this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/dht/Bounds<TT;>;

  protected java.lang.String getClosingString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.dht.Bounds this
         0: .line 110
            ldc "]"
            areturn
        end local 0 // org.apache.cassandra.dht.Bounds this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/dht/Bounds<TT;>;

  public static <T extends org.apache.cassandra.dht.RingPosition<T>> boolean isInBounds(T, java.lang.Iterable<org.apache.cassandra.dht.Bounds<T>>);
    descriptor: (Lorg/apache/cassandra/dht/RingPosition;Ljava/lang/Iterable;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.apache.cassandra.dht.RingPosition token
        start local 1 // java.lang.Iterable bounds
         0: .line 115
            getstatic org.apache.cassandra.dht.Bounds.$assertionsDisabled:Z
            ifne 1
            aload 1 /* bounds */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 117
      StackMap locals:
      StackMap stack:
            aload 1 /* bounds */
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 3
            goto 5
      StackMap locals: org.apache.cassandra.dht.RingPosition java.lang.Iterable top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.dht.Bounds
            astore 2 /* bound */
        start local 2 // org.apache.cassandra.dht.Bounds bound
         3: .line 119
            aload 2 /* bound */
            aload 0 /* token */
            invokevirtual org.apache.cassandra.dht.Bounds.contains:(Lorg/apache/cassandra/dht/RingPosition;)Z
            ifeq 5
         4: .line 121
            iconst_1
            ireturn
        end local 2 // org.apache.cassandra.dht.Bounds bound
         5: .line 117
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 124
            iconst_0
            ireturn
        end local 1 // java.lang.Iterable bounds
        end local 0 // org.apache.cassandra.dht.RingPosition token
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0   token  TT;
            0    7     1  bounds  Ljava/lang/Iterable<Lorg/apache/cassandra/dht/Bounds<TT;>;>;
            3    5     2   bound  Lorg/apache/cassandra/dht/Bounds<TT;>;
    Signature: <T::Lorg/apache/cassandra/dht/RingPosition<TT;>;>(TT;Ljava/lang/Iterable<Lorg/apache/cassandra/dht/Bounds<TT;>;>;)Z
    MethodParameters:
        Name  Flags
      token   
      bounds  

  public boolean isStartInclusive();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.dht.Bounds this
         0: .line 129
            iconst_1
            ireturn
        end local 0 // org.apache.cassandra.dht.Bounds this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/dht/Bounds<TT;>;

  public boolean isEndInclusive();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.dht.Bounds this
         0: .line 134
            iconst_1
            ireturn
        end local 0 // org.apache.cassandra.dht.Bounds this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/dht/Bounds<TT;>;

  public static org.apache.cassandra.dht.Bounds<org.apache.cassandra.db.PartitionPosition> makeRowBounds(org.apache.cassandra.dht.Token, org.apache.cassandra.dht.Token);
    descriptor: (Lorg/apache/cassandra/dht/Token;Lorg/apache/cassandra/dht/Token;)Lorg/apache/cassandra/dht/Bounds;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.cassandra.dht.Token left
        start local 1 // org.apache.cassandra.dht.Token right
         0: .line 142
            new org.apache.cassandra.dht.Bounds
            dup
            aload 0 /* left */
            invokevirtual org.apache.cassandra.dht.Token.minKeyBound:()Lorg/apache/cassandra/dht/Token$KeyBound;
            aload 1 /* right */
            invokevirtual org.apache.cassandra.dht.Token.maxKeyBound:()Lorg/apache/cassandra/dht/Token$KeyBound;
            invokespecial org.apache.cassandra.dht.Bounds.<init>:(Lorg/apache/cassandra/dht/RingPosition;Lorg/apache/cassandra/dht/RingPosition;)V
            areturn
        end local 1 // org.apache.cassandra.dht.Token right
        end local 0 // org.apache.cassandra.dht.Token left
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   left  Lorg/apache/cassandra/dht/Token;
            0    1     1  right  Lorg/apache/cassandra/dht/Token;
    Signature: (Lorg/apache/cassandra/dht/Token;Lorg/apache/cassandra/dht/Token;)Lorg/apache/cassandra/dht/Bounds<Lorg/apache/cassandra/db/PartitionPosition;>;
    MethodParameters:
       Name  Flags
      left   
      right  

  public org.apache.cassandra.dht.AbstractBounds<T> withNewRight(T);
    descriptor: (Lorg/apache/cassandra/dht/RingPosition;)Lorg/apache/cassandra/dht/AbstractBounds;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.cassandra.dht.Bounds this
        start local 1 // org.apache.cassandra.dht.RingPosition newRight
         0: .line 147
            new org.apache.cassandra.dht.Bounds
            dup
            aload 0 /* this */
            getfield org.apache.cassandra.dht.Bounds.left:Lorg/apache/cassandra/dht/RingPosition;
            aload 1 /* newRight */
            invokespecial org.apache.cassandra.dht.Bounds.<init>:(Lorg/apache/cassandra/dht/RingPosition;Lorg/apache/cassandra/dht/RingPosition;)V
            areturn
        end local 1 // org.apache.cassandra.dht.RingPosition newRight
        end local 0 // org.apache.cassandra.dht.Bounds this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lorg/apache/cassandra/dht/Bounds<TT;>;
            0    1     1  newRight  TT;
    Signature: (TT;)Lorg/apache/cassandra/dht/AbstractBounds<TT;>;
    MethodParameters:
          Name  Flags
      newRight  

  public static <T extends org.apache.cassandra.dht.RingPosition<T>> java.util.Set<org.apache.cassandra.dht.Bounds<T>> getNonOverlappingBounds(java.lang.Iterable<org.apache.cassandra.dht.Bounds<T>>);
    descriptor: (Ljava/lang/Iterable;)Ljava/util/Set;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // java.lang.Iterable bounds
         0: .line 165
            aload 0 /* bounds */
            invokestatic com.google.common.collect.Lists.newArrayList:(Ljava/lang/Iterable;)Ljava/util/ArrayList;
            astore 1 /* sortedBounds */
        start local 1 // java.util.ArrayList sortedBounds
         1: .line 166
            aload 1 /* sortedBounds */
            new org.apache.cassandra.dht.Bounds$1
            dup
            invokespecial org.apache.cassandra.dht.Bounds$1.<init>:()V
            invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
         2: .line 174
            invokestatic com.google.common.collect.Sets.newHashSet:()Ljava/util/HashSet;
            astore 2 /* nonOverlappingBounds */
        start local 2 // java.util.Set nonOverlappingBounds
         3: .line 176
            aload 1 /* sortedBounds */
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            invokestatic com.google.common.collect.Iterators.peekingIterator:(Ljava/util/Iterator;)Lcom/google/common/collect/PeekingIterator;
            astore 3 /* it */
        start local 3 // com.google.common.collect.PeekingIterator it
         4: .line 177
            goto 11
         5: .line 179
      StackMap locals: java.util.ArrayList java.util.Set com.google.common.collect.PeekingIterator
      StackMap stack:
            aload 3 /* it */
            invokeinterface com.google.common.collect.PeekingIterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.dht.Bounds
            astore 4 /* beginBound */
        start local 4 // org.apache.cassandra.dht.Bounds beginBound
         6: .line 180
            aload 4 /* beginBound */
            astore 5 /* endBound */
        start local 5 // org.apache.cassandra.dht.Bounds endBound
         7: .line 181
            goto 9
         8: .line 182
      StackMap locals: org.apache.cassandra.dht.Bounds org.apache.cassandra.dht.Bounds
      StackMap stack:
            aload 3 /* it */
            invokeinterface com.google.common.collect.PeekingIterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.dht.Bounds
            astore 5 /* endBound */
         9: .line 181
      StackMap locals:
      StackMap stack:
            aload 3 /* it */
            invokeinterface com.google.common.collect.PeekingIterator.hasNext:()Z
            ifeq 10
            aload 5 /* endBound */
            getfield org.apache.cassandra.dht.Bounds.right:Lorg/apache/cassandra/dht/RingPosition;
            aload 3 /* it */
            invokeinterface com.google.common.collect.PeekingIterator.peek:()Ljava/lang/Object;
            checkcast org.apache.cassandra.dht.Bounds
            getfield org.apache.cassandra.dht.Bounds.left:Lorg/apache/cassandra/dht/RingPosition;
            invokeinterface org.apache.cassandra.dht.RingPosition.compareTo:(Ljava/lang/Object;)I
            ifge 8
        10: .line 183
      StackMap locals:
      StackMap stack:
            aload 2 /* nonOverlappingBounds */
            new org.apache.cassandra.dht.Bounds
            dup
            aload 4 /* beginBound */
            getfield org.apache.cassandra.dht.Bounds.left:Lorg/apache/cassandra/dht/RingPosition;
            aload 5 /* endBound */
            getfield org.apache.cassandra.dht.Bounds.right:Lorg/apache/cassandra/dht/RingPosition;
            invokespecial org.apache.cassandra.dht.Bounds.<init>:(Lorg/apache/cassandra/dht/RingPosition;Lorg/apache/cassandra/dht/RingPosition;)V
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // org.apache.cassandra.dht.Bounds endBound
        end local 4 // org.apache.cassandra.dht.Bounds beginBound
        11: .line 177
      StackMap locals:
      StackMap stack:
            aload 3 /* it */
            invokeinterface com.google.common.collect.PeekingIterator.hasNext:()Z
            ifne 5
        12: .line 186
            aload 2 /* nonOverlappingBounds */
            areturn
        end local 3 // com.google.common.collect.PeekingIterator it
        end local 2 // java.util.Set nonOverlappingBounds
        end local 1 // java.util.ArrayList sortedBounds
        end local 0 // java.lang.Iterable bounds
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   13     0                bounds  Ljava/lang/Iterable<Lorg/apache/cassandra/dht/Bounds<TT;>;>;
            1   13     1          sortedBounds  Ljava/util/ArrayList<Lorg/apache/cassandra/dht/Bounds<TT;>;>;
            3   13     2  nonOverlappingBounds  Ljava/util/Set<Lorg/apache/cassandra/dht/Bounds<TT;>;>;
            4   13     3                    it  Lcom/google/common/collect/PeekingIterator<Lorg/apache/cassandra/dht/Bounds<TT;>;>;
            6   11     4            beginBound  Lorg/apache/cassandra/dht/Bounds<TT;>;
            7   11     5              endBound  Lorg/apache/cassandra/dht/Bounds<TT;>;
    Signature: <T::Lorg/apache/cassandra/dht/RingPosition<TT;>;>(Ljava/lang/Iterable<Lorg/apache/cassandra/dht/Bounds<TT;>;>;)Ljava/util/Set<Lorg/apache/cassandra/dht/Bounds<TT;>;>;
    MethodParameters:
        Name  Flags
      bounds  
}
Signature: <T::Lorg/apache/cassandra/dht/RingPosition<TT;>;>Lorg/apache/cassandra/dht/AbstractBounds<TT;>;
SourceFile: "Bounds.java"
NestMembers:
  org.apache.cassandra.dht.Bounds$1
InnerClasses:
  org.apache.cassandra.dht.Bounds$1
  public KeyBound = org.apache.cassandra.dht.Token$KeyBound of org.apache.cassandra.dht.Token