public class org.apache.cassandra.utils.OverlapIterator<I extends java.lang.Comparable<? super I>, V>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.utils.OverlapIterator
  super_class: java.lang.Object
{
  int nextToInclude;
    descriptor: I
    flags: (0x0000) 

  final java.util.List<org.apache.cassandra.utils.Interval<I, V>> sortedByMin;
    descriptor: Ljava/util/List;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/List<Lorg/apache/cassandra/utils/Interval<TI;TV;>;>;

  int nextToExclude;
    descriptor: I
    flags: (0x0000) 

  final java.util.List<org.apache.cassandra.utils.Interval<I, V>> sortedByMax;
    descriptor: Ljava/util/List;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/List<Lorg/apache/cassandra/utils/Interval<TI;TV;>;>;

  final java.util.Set<V> overlaps;
    descriptor: Ljava/util/Set;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/Set<TV;>;

  final java.util.Set<V> accessible;
    descriptor: Ljava/util/Set;
    flags: (0x0010) ACC_FINAL
    Signature: Ljava/util/Set<TV;>;

  public void <init>(java.util.Collection<org.apache.cassandra.utils.Interval<I, V>>);
    descriptor: (Ljava/util/Collection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.cassandra.utils.OverlapIterator this
        start local 1 // java.util.Collection intervals
         0: .line 45
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 42
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.apache.cassandra.utils.OverlapIterator.overlaps:Ljava/util/Set;
         2: .line 43
            aload 0 /* this */
            aload 0 /* this */
            getfield org.apache.cassandra.utils.OverlapIterator.overlaps:Ljava/util/Set;
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
            putfield org.apache.cassandra.utils.OverlapIterator.accessible:Ljava/util/Set;
         3: .line 47
            aload 0 /* this */
            new java.util.ArrayList
            dup
            aload 1 /* intervals */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            putfield org.apache.cassandra.utils.OverlapIterator.sortedByMax:Ljava/util/List;
         4: .line 48
            aload 0 /* this */
            getfield org.apache.cassandra.utils.OverlapIterator.sortedByMax:Ljava/util/List;
            invokestatic org.apache.cassandra.utils.Interval.maxOrdering:()Lorg/apache/cassandra/utils/AsymmetricOrdering;
            invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
         5: .line 53
            aload 0 /* this */
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield org.apache.cassandra.utils.OverlapIterator.sortedByMax:Ljava/util/List;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            putfield org.apache.cassandra.utils.OverlapIterator.sortedByMin:Ljava/util/List;
         6: .line 54
            aload 0 /* this */
            getfield org.apache.cassandra.utils.OverlapIterator.sortedByMin:Ljava/util/List;
            invokestatic org.apache.cassandra.utils.Interval.minOrdering:()Lorg/apache/cassandra/utils/AsymmetricOrdering;
            invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
         7: .line 55
            return
        end local 1 // java.util.Collection intervals
        end local 0 // org.apache.cassandra.utils.OverlapIterator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/apache/cassandra/utils/OverlapIterator<TI;TV;>;
            0    8     1  intervals  Ljava/util/Collection<Lorg/apache/cassandra/utils/Interval<TI;TV;>;>;
    Signature: (Ljava/util/Collection<Lorg/apache/cassandra/utils/Interval<TI;TV;>;>;)V
    MethodParameters:
           Name  Flags
      intervals  

  public void update();
    descriptor: (Ljava/lang/Comparable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.apache.cassandra.utils.OverlapIterator this
        start local 1 // java.lang.Comparable point
         0: .line 63
            goto 2
         1: .line 64
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.utils.OverlapIterator.overlaps:Ljava/util/Set;
            aload 0 /* this */
            getfield org.apache.cassandra.utils.OverlapIterator.sortedByMin:Ljava/util/List;
            aload 0 /* this */
            dup
            getfield org.apache.cassandra.utils.OverlapIterator.nextToInclude:I
            dup_x1
            iconst_1
            iadd
            putfield org.apache.cassandra.utils.OverlapIterator.nextToInclude:I
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.cassandra.utils.Interval
            getfield org.apache.cassandra.utils.Interval.data:Ljava/lang/Object;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         2: .line 63
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.utils.OverlapIterator.nextToInclude:I
            aload 0 /* this */
            getfield org.apache.cassandra.utils.OverlapIterator.sortedByMin:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmpge 5
            aload 0 /* this */
            getfield org.apache.cassandra.utils.OverlapIterator.sortedByMin:Ljava/util/List;
            aload 0 /* this */
            getfield org.apache.cassandra.utils.OverlapIterator.nextToInclude:I
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.cassandra.utils.Interval
            getfield org.apache.cassandra.utils.Interval.min:Ljava/lang/Object;
            checkcast java.lang.Comparable
            aload 1 /* point */
            invokeinterface java.lang.Comparable.compareTo:(Ljava/lang/Object;)I
            ifle 1
         3: .line 66
            goto 5
         4: .line 67
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.utils.OverlapIterator.overlaps:Ljava/util/Set;
            aload 0 /* this */
            getfield org.apache.cassandra.utils.OverlapIterator.sortedByMax:Ljava/util/List;
            aload 0 /* this */
            dup
            getfield org.apache.cassandra.utils.OverlapIterator.nextToExclude:I
            dup_x1
            iconst_1
            iadd
            putfield org.apache.cassandra.utils.OverlapIterator.nextToExclude:I
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.cassandra.utils.Interval
            getfield org.apache.cassandra.utils.Interval.data:Ljava/lang/Object;
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
         5: .line 66
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.utils.OverlapIterator.nextToExclude:I
            aload 0 /* this */
            getfield org.apache.cassandra.utils.OverlapIterator.sortedByMax:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmpge 6
            aload 0 /* this */
            getfield org.apache.cassandra.utils.OverlapIterator.sortedByMax:Ljava/util/List;
            aload 0 /* this */
            getfield org.apache.cassandra.utils.OverlapIterator.nextToExclude:I
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast org.apache.cassandra.utils.Interval
            getfield org.apache.cassandra.utils.Interval.max:Ljava/lang/Object;
            checkcast java.lang.Comparable
            aload 1 /* point */
            invokeinterface java.lang.Comparable.compareTo:(Ljava/lang/Object;)I
            iflt 4
         6: .line 68
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.Comparable point
        end local 0 // org.apache.cassandra.utils.OverlapIterator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/apache/cassandra/utils/OverlapIterator<TI;TV;>;
            0    7     1  point  TI;
    Signature: (TI;)V
    MethodParameters:
       Name  Flags
      point  

  public java.util.Set<V> overlaps();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.utils.OverlapIterator this
         0: .line 72
            aload 0 /* this */
            getfield org.apache.cassandra.utils.OverlapIterator.accessible:Ljava/util/Set;
            areturn
        end local 0 // org.apache.cassandra.utils.OverlapIterator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/utils/OverlapIterator<TI;TV;>;
    Signature: ()Ljava/util/Set<TV;>;
}
Signature: <I::Ljava/lang/Comparable<-TI;>;V:Ljava/lang/Object;>Ljava/lang/Object;
SourceFile: "OverlapIterator.java"