public class org.apache.cassandra.db.Columns extends java.util.AbstractCollection<org.apache.cassandra.config.ColumnDefinition> implements java.util.Collection<org.apache.cassandra.config.ColumnDefinition>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.db.Columns
  super_class: java.util.AbstractCollection
{
  public static final org.apache.cassandra.db.Columns$Serializer serializer;
    descriptor: Lorg/apache/cassandra/db/Columns$Serializer;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final org.apache.cassandra.db.Columns NONE;
    descriptor: Lorg/apache/cassandra/db/Columns;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private static final org.apache.cassandra.config.ColumnDefinition FIRST_COMPLEX_STATIC;
    descriptor: Lorg/apache/cassandra/config/ColumnDefinition;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.apache.cassandra.config.ColumnDefinition FIRST_COMPLEX_REGULAR;
    descriptor: Lorg/apache/cassandra/config/ColumnDefinition;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.lang.Object[] columns;
    descriptor: [Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int complexIdx;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  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=8, locals=0, args_size=0
         0: .line 51
            ldc Lorg/apache/cassandra/db/Columns;
            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.db.Columns.$assertionsDisabled:Z
         3: .line 53
            new org.apache.cassandra.db.Columns$Serializer
            dup
            invokespecial org.apache.cassandra.db.Columns$Serializer.<init>:()V
            putstatic org.apache.cassandra.db.Columns.serializer:Lorg/apache/cassandra/db/Columns$Serializer;
         4: .line 54
            new org.apache.cassandra.db.Columns
            dup
            invokestatic org.apache.cassandra.utils.btree.BTree.empty:()[Ljava/lang/Object;
            iconst_0
            invokespecial org.apache.cassandra.db.Columns.<init>:([Ljava/lang/Object;I)V
            putstatic org.apache.cassandra.db.Columns.NONE:Lorg/apache/cassandra/db/Columns;
         5: .line 57
            new org.apache.cassandra.config.ColumnDefinition
            dup
            ldc ""
         6: .line 58
            ldc ""
         7: .line 59
            getstatic org.apache.cassandra.utils.ByteBufferUtil.EMPTY_BYTE_BUFFER:Ljava/nio/ByteBuffer;
            getstatic org.apache.cassandra.db.marshal.UTF8Type.instance:Lorg/apache/cassandra/db/marshal/UTF8Type;
            invokestatic org.apache.cassandra.cql3.ColumnIdentifier.getInterned:(Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/marshal/AbstractType;)Lorg/apache/cassandra/cql3/ColumnIdentifier;
         8: .line 60
            getstatic org.apache.cassandra.db.marshal.UTF8Type.instance:Lorg/apache/cassandra/db/marshal/UTF8Type;
            iconst_1
            invokestatic org.apache.cassandra.db.marshal.SetType.getInstance:(Lorg/apache/cassandra/db/marshal/AbstractType;Z)Lorg/apache/cassandra/db/marshal/SetType;
         9: .line 61
            iconst_m1
        10: .line 62
            getstatic org.apache.cassandra.config.ColumnDefinition$Kind.STATIC:Lorg/apache/cassandra/config/ColumnDefinition$Kind;
        11: .line 57
            invokespecial org.apache.cassandra.config.ColumnDefinition.<init>:(Ljava/lang/String;Ljava/lang/String;Lorg/apache/cassandra/cql3/ColumnIdentifier;Lorg/apache/cassandra/db/marshal/AbstractType;ILorg/apache/cassandra/config/ColumnDefinition$Kind;)V
        12: .line 56
            putstatic org.apache.cassandra.db.Columns.FIRST_COMPLEX_STATIC:Lorg/apache/cassandra/config/ColumnDefinition;
        13: .line 65
            new org.apache.cassandra.config.ColumnDefinition
            dup
            ldc ""
        14: .line 66
            ldc ""
        15: .line 67
            getstatic org.apache.cassandra.utils.ByteBufferUtil.EMPTY_BYTE_BUFFER:Ljava/nio/ByteBuffer;
            getstatic org.apache.cassandra.db.marshal.UTF8Type.instance:Lorg/apache/cassandra/db/marshal/UTF8Type;
            invokestatic org.apache.cassandra.cql3.ColumnIdentifier.getInterned:(Ljava/nio/ByteBuffer;Lorg/apache/cassandra/db/marshal/AbstractType;)Lorg/apache/cassandra/cql3/ColumnIdentifier;
        16: .line 68
            getstatic org.apache.cassandra.db.marshal.UTF8Type.instance:Lorg/apache/cassandra/db/marshal/UTF8Type;
            iconst_1
            invokestatic org.apache.cassandra.db.marshal.SetType.getInstance:(Lorg/apache/cassandra/db/marshal/AbstractType;Z)Lorg/apache/cassandra/db/marshal/SetType;
        17: .line 69
            iconst_m1
        18: .line 70
            getstatic org.apache.cassandra.config.ColumnDefinition$Kind.REGULAR:Lorg/apache/cassandra/config/ColumnDefinition$Kind;
        19: .line 65
            invokespecial org.apache.cassandra.config.ColumnDefinition.<init>:(Ljava/lang/String;Ljava/lang/String;Lorg/apache/cassandra/cql3/ColumnIdentifier;Lorg/apache/cassandra/db/marshal/AbstractType;ILorg/apache/cassandra/config/ColumnDefinition$Kind;)V
        20: .line 64
            putstatic org.apache.cassandra.db.Columns.FIRST_COMPLEX_REGULAR:Lorg/apache/cassandra/config/ColumnDefinition;
        21: .line 70
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(java.lang.Object[], int);
    descriptor: ([Ljava/lang/Object;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.cassandra.db.Columns this
        start local 1 // java.lang.Object[] columns
        start local 2 // int complexIdx
         0: .line 75
            aload 0 /* this */
            invokespecial java.util.AbstractCollection.<init>:()V
         1: .line 77
            getstatic org.apache.cassandra.db.Columns.$assertionsDisabled:Z
            ifne 2
            iload 2 /* complexIdx */
            aload 1 /* columns */
            invokestatic org.apache.cassandra.utils.btree.BTree.size:([Ljava/lang/Object;)I
            if_icmple 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 78
      StackMap locals: org.apache.cassandra.db.Columns java.lang.Object[] int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* columns */
            putfield org.apache.cassandra.db.Columns.columns:[Ljava/lang/Object;
         3: .line 79
            aload 0 /* this */
            iload 2 /* complexIdx */
            putfield org.apache.cassandra.db.Columns.complexIdx:I
         4: .line 80
            return
        end local 2 // int complexIdx
        end local 1 // java.lang.Object[] columns
        end local 0 // org.apache.cassandra.db.Columns this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lorg/apache/cassandra/db/Columns;
            0    5     1     columns  [Ljava/lang/Object;
            0    5     2  complexIdx  I
    MethodParameters:
            Name  Flags
      columns     
      complexIdx  

  private void <init>(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.Columns this
        start local 1 // java.lang.Object[] columns
         0: .line 84
            aload 0 /* this */
            aload 1 /* columns */
            aload 1 /* columns */
            invokestatic org.apache.cassandra.db.Columns.findFirstComplexIdx:([Ljava/lang/Object;)I
            invokespecial org.apache.cassandra.db.Columns.<init>:([Ljava/lang/Object;I)V
         1: .line 85
            return
        end local 1 // java.lang.Object[] columns
        end local 0 // org.apache.cassandra.db.Columns this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/apache/cassandra/db/Columns;
            0    2     1  columns  [Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      columns  

  public static org.apache.cassandra.db.Columns of(org.apache.cassandra.config.ColumnDefinition);
    descriptor: (Lorg/apache/cassandra/config/ColumnDefinition;)Lorg/apache/cassandra/db/Columns;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.cassandra.config.ColumnDefinition c
         0: .line 96
            new org.apache.cassandra.db.Columns
            dup
            aload 0 /* c */
            invokestatic org.apache.cassandra.utils.btree.BTree.singleton:(Ljava/lang/Object;)[Ljava/lang/Object;
            aload 0 /* c */
            invokevirtual org.apache.cassandra.config.ColumnDefinition.isComplex:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals: org.apache.cassandra.config.ColumnDefinition
      StackMap stack: new 0 new 0 java.lang.Object[]
         1: iconst_1
      StackMap locals: org.apache.cassandra.config.ColumnDefinition
      StackMap stack: new 0 new 0 java.lang.Object[] int
         2: invokespecial org.apache.cassandra.db.Columns.<init>:([Ljava/lang/Object;I)V
            areturn
        end local 0 // org.apache.cassandra.config.ColumnDefinition c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     c  Lorg/apache/cassandra/config/ColumnDefinition;
    MethodParameters:
      Name  Flags
      c     

  public static org.apache.cassandra.db.Columns from(java.util.Collection<org.apache.cassandra.config.ColumnDefinition>);
    descriptor: (Ljava/util/Collection;)Lorg/apache/cassandra/db/Columns;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // java.util.Collection s
         0: .line 107
            invokestatic java.util.Comparator.naturalOrder:()Ljava/util/Comparator;
            invokestatic org.apache.cassandra.utils.btree.BTree.builder:(Ljava/util/Comparator;)Lorg/apache/cassandra/utils/btree/BTree$Builder;
            aload 0 /* s */
            invokevirtual org.apache.cassandra.utils.btree.BTree$Builder.addAll:(Ljava/util/Collection;)Lorg/apache/cassandra/utils/btree/BTree$Builder;
            invokevirtual org.apache.cassandra.utils.btree.BTree$Builder.build:()[Ljava/lang/Object;
            astore 1 /* tree */
        start local 1 // java.lang.Object[] tree
         1: .line 108
            new org.apache.cassandra.db.Columns
            dup
            aload 1 /* tree */
            aload 1 /* tree */
            invokestatic org.apache.cassandra.db.Columns.findFirstComplexIdx:([Ljava/lang/Object;)I
            invokespecial org.apache.cassandra.db.Columns.<init>:([Ljava/lang/Object;I)V
            areturn
        end local 1 // java.lang.Object[] tree
        end local 0 // java.util.Collection s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     s  Ljava/util/Collection<Lorg/apache/cassandra/config/ColumnDefinition;>;
            1    2     1  tree  [Ljava/lang/Object;
    Signature: (Ljava/util/Collection<Lorg/apache/cassandra/config/ColumnDefinition;>;)Lorg/apache/cassandra/db/Columns;
    MethodParameters:
      Name  Flags
      s     

  private static int findFirstComplexIdx(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // java.lang.Object[] tree
         0: .line 113
            aload 0 /* tree */
            invokestatic org.apache.cassandra.utils.btree.BTree.isEmpty:([Ljava/lang/Object;)Z
            ifeq 2
         1: .line 114
            iconst_0
            ireturn
         2: .line 116
      StackMap locals:
      StackMap stack:
            aload 0 /* tree */
            invokestatic org.apache.cassandra.utils.btree.BTree.size:([Ljava/lang/Object;)I
            istore 1 /* size */
        start local 1 // int size
         3: .line 117
            aload 0 /* tree */
            iload 1 /* size */
            iconst_1
            isub
            invokestatic org.apache.cassandra.utils.btree.BTree.findByIndex:([Ljava/lang/Object;I)Ljava/lang/Object;
            checkcast org.apache.cassandra.config.ColumnDefinition
            astore 2 /* last */
        start local 2 // org.apache.cassandra.config.ColumnDefinition last
         4: .line 118
            aload 2 /* last */
            invokevirtual org.apache.cassandra.config.ColumnDefinition.isSimple:()Z
            ifeq 6
         5: .line 119
            iload 1 /* size */
            goto 9
         6: .line 120
      StackMap locals: int org.apache.cassandra.config.ColumnDefinition
      StackMap stack:
            aload 0 /* tree */
            invokestatic java.util.Comparator.naturalOrder:()Ljava/util/Comparator;
            aload 2 /* last */
            invokevirtual org.apache.cassandra.config.ColumnDefinition.isStatic:()Z
            ifeq 7
            getstatic org.apache.cassandra.db.Columns.FIRST_COMPLEX_STATIC:Lorg/apache/cassandra/config/ColumnDefinition;
            goto 8
      StackMap locals: java.lang.Object[] int org.apache.cassandra.config.ColumnDefinition
      StackMap stack: java.lang.Object[] java.util.Comparator
         7: getstatic org.apache.cassandra.db.Columns.FIRST_COMPLEX_REGULAR:Lorg/apache/cassandra/config/ColumnDefinition;
      StackMap locals: java.lang.Object[] int org.apache.cassandra.config.ColumnDefinition
      StackMap stack: java.lang.Object[] java.util.Comparator org.apache.cassandra.config.ColumnDefinition
         8: invokestatic org.apache.cassandra.utils.btree.BTree.ceilIndex:([Ljava/lang/Object;Ljava/util/Comparator;Ljava/lang/Object;)I
         9: .line 118
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 2 // org.apache.cassandra.config.ColumnDefinition last
        end local 1 // int size
        end local 0 // java.lang.Object[] tree
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  tree  [Ljava/lang/Object;
            3   10     1  size  I
            4   10     2  last  Lorg/apache/cassandra/config/ColumnDefinition;
    MethodParameters:
      Name  Flags
      tree  

  public boolean isEmpty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.Columns this
         0: .line 130
            aload 0 /* this */
            getfield org.apache.cassandra.db.Columns.columns:[Ljava/lang/Object;
            invokestatic org.apache.cassandra.utils.btree.BTree.isEmpty:([Ljava/lang/Object;)Z
            ireturn
        end local 0 // org.apache.cassandra.db.Columns this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/Columns;

  public int simpleColumnCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.Columns this
         0: .line 140
            aload 0 /* this */
            getfield org.apache.cassandra.db.Columns.complexIdx:I
            ireturn
        end local 0 // org.apache.cassandra.db.Columns this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/Columns;

  public int complexColumnCount();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.Columns this
         0: .line 150
            aload 0 /* this */
            getfield org.apache.cassandra.db.Columns.columns:[Ljava/lang/Object;
            invokestatic org.apache.cassandra.utils.btree.BTree.size:([Ljava/lang/Object;)I
            aload 0 /* this */
            getfield org.apache.cassandra.db.Columns.complexIdx:I
            isub
            ireturn
        end local 0 // org.apache.cassandra.db.Columns this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/Columns;

  public int size();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.Columns this
         0: .line 160
            aload 0 /* this */
            getfield org.apache.cassandra.db.Columns.columns:[Ljava/lang/Object;
            invokestatic org.apache.cassandra.utils.btree.BTree.size:([Ljava/lang/Object;)I
            ireturn
        end local 0 // org.apache.cassandra.db.Columns this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/Columns;

  public boolean hasSimple();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.Columns this
         0: .line 170
            aload 0 /* this */
            getfield org.apache.cassandra.db.Columns.complexIdx:I
            ifle 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.apache.cassandra.db.Columns this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/db/Columns;

  public boolean hasComplex();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.Columns this
         0: .line 180
            aload 0 /* this */
            getfield org.apache.cassandra.db.Columns.complexIdx:I
            aload 0 /* this */
            getfield org.apache.cassandra.db.Columns.columns:[Ljava/lang/Object;
            invokestatic org.apache.cassandra.utils.btree.BTree.size:([Ljava/lang/Object;)I
            if_icmpge 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.apache.cassandra.db.Columns this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/db/Columns;

  public org.apache.cassandra.config.ColumnDefinition getSimple(int);
    descriptor: (I)Lorg/apache/cassandra/config/ColumnDefinition;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.Columns this
        start local 1 // int i
         0: .line 193
            aload 0 /* this */
            getfield org.apache.cassandra.db.Columns.columns:[Ljava/lang/Object;
            iload 1 /* i */
            invokestatic org.apache.cassandra.utils.btree.BTree.findByIndex:([Ljava/lang/Object;I)Ljava/lang/Object;
            checkcast org.apache.cassandra.config.ColumnDefinition
            areturn
        end local 1 // int i
        end local 0 // org.apache.cassandra.db.Columns this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/Columns;
            0    1     1     i  I
    MethodParameters:
      Name  Flags
      i     

  public org.apache.cassandra.config.ColumnDefinition getComplex(int);
    descriptor: (I)Lorg/apache/cassandra/config/ColumnDefinition;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.Columns this
        start local 1 // int i
         0: .line 206
            aload 0 /* this */
            getfield org.apache.cassandra.db.Columns.columns:[Ljava/lang/Object;
            aload 0 /* this */
            getfield org.apache.cassandra.db.Columns.complexIdx:I
            iload 1 /* i */
            iadd
            invokestatic org.apache.cassandra.utils.btree.BTree.findByIndex:([Ljava/lang/Object;I)Ljava/lang/Object;
            checkcast org.apache.cassandra.config.ColumnDefinition
            areturn
        end local 1 // int i
        end local 0 // org.apache.cassandra.db.Columns this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/Columns;
            0    1     1     i  I
    MethodParameters:
      Name  Flags
      i     

  public int simpleIdx(org.apache.cassandra.config.ColumnDefinition);
    descriptor: (Lorg/apache/cassandra/config/ColumnDefinition;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.Columns this
        start local 1 // org.apache.cassandra.config.ColumnDefinition c
         0: .line 220
            aload 0 /* this */
            getfield org.apache.cassandra.db.Columns.columns:[Ljava/lang/Object;
            invokestatic java.util.Comparator.naturalOrder:()Ljava/util/Comparator;
            aload 1 /* c */
            invokestatic org.apache.cassandra.utils.btree.BTree.findIndex:([Ljava/lang/Object;Ljava/util/Comparator;Ljava/lang/Object;)I
            ireturn
        end local 1 // org.apache.cassandra.config.ColumnDefinition c
        end local 0 // org.apache.cassandra.db.Columns this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/Columns;
            0    1     1     c  Lorg/apache/cassandra/config/ColumnDefinition;
    MethodParameters:
      Name  Flags
      c     

  public int complexIdx(org.apache.cassandra.config.ColumnDefinition);
    descriptor: (Lorg/apache/cassandra/config/ColumnDefinition;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.Columns this
        start local 1 // org.apache.cassandra.config.ColumnDefinition c
         0: .line 234
            aload 0 /* this */
            getfield org.apache.cassandra.db.Columns.columns:[Ljava/lang/Object;
            invokestatic java.util.Comparator.naturalOrder:()Ljava/util/Comparator;
            aload 1 /* c */
            invokestatic org.apache.cassandra.utils.btree.BTree.findIndex:([Ljava/lang/Object;Ljava/util/Comparator;Ljava/lang/Object;)I
            aload 0 /* this */
            getfield org.apache.cassandra.db.Columns.complexIdx:I
            isub
            ireturn
        end local 1 // org.apache.cassandra.config.ColumnDefinition c
        end local 0 // org.apache.cassandra.db.Columns this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/Columns;
            0    1     1     c  Lorg/apache/cassandra/config/ColumnDefinition;
    MethodParameters:
      Name  Flags
      c     

  public boolean contains(org.apache.cassandra.config.ColumnDefinition);
    descriptor: (Lorg/apache/cassandra/config/ColumnDefinition;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.Columns this
        start local 1 // org.apache.cassandra.config.ColumnDefinition c
         0: .line 246
            aload 0 /* this */
            getfield org.apache.cassandra.db.Columns.columns:[Ljava/lang/Object;
            invokestatic java.util.Comparator.naturalOrder:()Ljava/util/Comparator;
            aload 1 /* c */
            invokestatic org.apache.cassandra.utils.btree.BTree.findIndex:([Ljava/lang/Object;Ljava/util/Comparator;Ljava/lang/Object;)I
            iflt 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // org.apache.cassandra.config.ColumnDefinition c
        end local 0 // org.apache.cassandra.db.Columns this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/db/Columns;
            0    2     1     c  Lorg/apache/cassandra/config/ColumnDefinition;
    MethodParameters:
      Name  Flags
      c     

  public org.apache.cassandra.db.Columns mergeTo(org.apache.cassandra.db.Columns);
    descriptor: (Lorg/apache/cassandra/db/Columns;)Lorg/apache/cassandra/db/Columns;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.cassandra.db.Columns this
        start local 1 // org.apache.cassandra.db.Columns other
         0: .line 261
            aload 0 /* this */
            aload 1 /* other */
            if_acmpeq 1
            aload 1 /* other */
            getstatic org.apache.cassandra.db.Columns.NONE:Lorg/apache/cassandra/db/Columns;
            if_acmpne 2
         1: .line 262
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
         2: .line 263
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic org.apache.cassandra.db.Columns.NONE:Lorg/apache/cassandra/db/Columns;
            if_acmpne 4
         3: .line 264
            aload 1 /* other */
            areturn
         4: .line 266
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.Columns.columns:[Ljava/lang/Object;
            aload 1 /* other */
            getfield org.apache.cassandra.db.Columns.columns:[Ljava/lang/Object;
            invokestatic java.util.Comparator.naturalOrder:()Ljava/util/Comparator;
         5: .line 267
            invokestatic org.apache.cassandra.utils.btree.UpdateFunction.noOp:()Lorg/apache/cassandra/utils/btree/UpdateFunction;
         6: .line 266
            invokestatic org.apache.cassandra.utils.btree.BTree.merge:([Ljava/lang/Object;[Ljava/lang/Object;Ljava/util/Comparator;Lorg/apache/cassandra/utils/btree/UpdateFunction;)[Ljava/lang/Object;
            astore 2 /* tree */
        start local 2 // java.lang.Object[] tree
         7: .line 268
            aload 2 /* tree */
            aload 0 /* this */
            getfield org.apache.cassandra.db.Columns.columns:[Ljava/lang/Object;
            if_acmpne 9
         8: .line 269
            aload 0 /* this */
            areturn
         9: .line 270
      StackMap locals: java.lang.Object[]
      StackMap stack:
            aload 2 /* tree */
            aload 1 /* other */
            getfield org.apache.cassandra.db.Columns.columns:[Ljava/lang/Object;
            if_acmpne 11
        10: .line 271
            aload 1 /* other */
            areturn
        11: .line 273
      StackMap locals:
      StackMap stack:
            new org.apache.cassandra.db.Columns
            dup
            aload 2 /* tree */
            aload 2 /* tree */
            invokestatic org.apache.cassandra.db.Columns.findFirstComplexIdx:([Ljava/lang/Object;)I
            invokespecial org.apache.cassandra.db.Columns.<init>:([Ljava/lang/Object;I)V
            areturn
        end local 2 // java.lang.Object[] tree
        end local 1 // org.apache.cassandra.db.Columns other
        end local 0 // org.apache.cassandra.db.Columns this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Lorg/apache/cassandra/db/Columns;
            0   12     1  other  Lorg/apache/cassandra/db/Columns;
            7   12     2   tree  [Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      other  

  public boolean containsAll(java.util.Collection<?>);
    descriptor: (Ljava/util/Collection;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.apache.cassandra.db.Columns this
        start local 1 // java.util.Collection other
         0: .line 285
            aload 1 /* other */
            aload 0 /* this */
            if_acmpne 2
         1: .line 286
            iconst_1
            ireturn
         2: .line 287
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            invokeinterface java.util.Collection.size:()I
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.Columns.size:()I
            if_icmple 4
         3: .line 288
            iconst_0
            ireturn
         4: .line 290
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.Columns.columns:[Ljava/lang/Object;
            invokestatic java.util.Comparator.naturalOrder:()Ljava/util/Comparator;
            getstatic org.apache.cassandra.utils.btree.BTree$Dir.ASC:Lorg/apache/cassandra/utils/btree/BTree$Dir;
            invokestatic org.apache.cassandra.utils.btree.BTree.slice:([Ljava/lang/Object;Ljava/util/Comparator;Lorg/apache/cassandra/utils/btree/BTree$Dir;)Lorg/apache/cassandra/utils/btree/BTreeSearchIterator;
            astore 2 /* iter */
        start local 2 // org.apache.cassandra.utils.btree.BTreeSearchIterator iter
         5: .line 291
            aload 1 /* other */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 9
      StackMap locals: org.apache.cassandra.db.Columns java.util.Collection org.apache.cassandra.utils.btree.BTreeSearchIterator top java.util.Iterator
      StackMap stack:
         6: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 3 /* def */
        start local 3 // java.lang.Object def
         7: .line 292
            aload 2 /* iter */
            aload 3 /* def */
            checkcast org.apache.cassandra.config.ColumnDefinition
            invokevirtual org.apache.cassandra.utils.btree.BTreeSearchIterator.next:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 9
         8: .line 293
            iconst_0
            ireturn
        end local 3 // java.lang.Object def
         9: .line 291
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        10: .line 294
            iconst_1
            ireturn
        end local 2 // org.apache.cassandra.utils.btree.BTreeSearchIterator iter
        end local 1 // java.util.Collection other
        end local 0 // org.apache.cassandra.db.Columns this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lorg/apache/cassandra/db/Columns;
            0   11     1  other  Ljava/util/Collection<*>;
            5   11     2   iter  Lorg/apache/cassandra/utils/btree/BTreeSearchIterator<Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/config/ColumnDefinition;>;
            7    9     3    def  Ljava/lang/Object;
    Signature: (Ljava/util/Collection<*>;)Z
    MethodParameters:
       Name  Flags
      other  

  public java.util.Iterator<org.apache.cassandra.config.ColumnDefinition> simpleColumns();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.Columns this
         0: .line 304
            aload 0 /* this */
            getfield org.apache.cassandra.db.Columns.columns:[Ljava/lang/Object;
            iconst_0
            aload 0 /* this */
            getfield org.apache.cassandra.db.Columns.complexIdx:I
            iconst_1
            isub
            getstatic org.apache.cassandra.utils.btree.BTree$Dir.ASC:Lorg/apache/cassandra/utils/btree/BTree$Dir;
            invokestatic org.apache.cassandra.utils.btree.BTree.iterator:([Ljava/lang/Object;IILorg/apache/cassandra/utils/btree/BTree$Dir;)Ljava/util/Iterator;
            areturn
        end local 0 // org.apache.cassandra.db.Columns this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/Columns;
    Signature: ()Ljava/util/Iterator<Lorg/apache/cassandra/config/ColumnDefinition;>;

  public java.util.Iterator<org.apache.cassandra.config.ColumnDefinition> complexColumns();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.Columns this
         0: .line 314
            aload 0 /* this */
            getfield org.apache.cassandra.db.Columns.columns:[Ljava/lang/Object;
            aload 0 /* this */
            getfield org.apache.cassandra.db.Columns.complexIdx:I
            aload 0 /* this */
            getfield org.apache.cassandra.db.Columns.columns:[Ljava/lang/Object;
            invokestatic org.apache.cassandra.utils.btree.BTree.size:([Ljava/lang/Object;)I
            iconst_1
            isub
            getstatic org.apache.cassandra.utils.btree.BTree$Dir.ASC:Lorg/apache/cassandra/utils/btree/BTree$Dir;
            invokestatic org.apache.cassandra.utils.btree.BTree.iterator:([Ljava/lang/Object;IILorg/apache/cassandra/utils/btree/BTree$Dir;)Ljava/util/Iterator;
            areturn
        end local 0 // org.apache.cassandra.db.Columns this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/Columns;
    Signature: ()Ljava/util/Iterator<Lorg/apache/cassandra/config/ColumnDefinition;>;

  public org.apache.cassandra.utils.btree.BTreeSearchIterator<org.apache.cassandra.config.ColumnDefinition, org.apache.cassandra.config.ColumnDefinition> iterator();
    descriptor: ()Lorg/apache/cassandra/utils/btree/BTreeSearchIterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.Columns this
         0: .line 324
            aload 0 /* this */
            getfield org.apache.cassandra.db.Columns.columns:[Ljava/lang/Object;
            invokestatic java.util.Comparator.naturalOrder:()Ljava/util/Comparator;
            getstatic org.apache.cassandra.utils.btree.BTree$Dir.ASC:Lorg/apache/cassandra/utils/btree/BTree$Dir;
            invokestatic org.apache.cassandra.utils.btree.BTree.slice:([Ljava/lang/Object;Ljava/util/Comparator;Lorg/apache/cassandra/utils/btree/BTree$Dir;)Lorg/apache/cassandra/utils/btree/BTreeSearchIterator;
            areturn
        end local 0 // org.apache.cassandra.db.Columns this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/Columns;
    Signature: ()Lorg/apache/cassandra/utils/btree/BTreeSearchIterator<Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/config/ColumnDefinition;>;

  public java.util.Iterator<org.apache.cassandra.config.ColumnDefinition> selectOrderIterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.Columns this
         0: .line 339
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.Columns.simpleColumns:()Ljava/util/Iterator;
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.Columns.complexColumns:()Ljava/util/Iterator;
            invokestatic com.google.common.collect.ImmutableList.of:(Ljava/lang/Object;Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList;
         1: .line 340
            invokedynamic compare()Ljava/util/Comparator;
              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;)I
                  org/apache/cassandra/db/Columns.lambda$0(Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/config/ColumnDefinition;)I (6)
                  (Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/config/ColumnDefinition;)I
         2: .line 339
            invokestatic com.google.common.collect.Iterators.mergeSorted:(Ljava/lang/Iterable;Ljava/util/Comparator;)Lcom/google/common/collect/UnmodifiableIterator;
         3: .line 338
            areturn
        end local 0 // org.apache.cassandra.db.Columns this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/apache/cassandra/db/Columns;
    Signature: ()Ljava/util/Iterator<Lorg/apache/cassandra/config/ColumnDefinition;>;

  public org.apache.cassandra.db.Columns without(org.apache.cassandra.config.ColumnDefinition);
    descriptor: (Lorg/apache/cassandra/config/ColumnDefinition;)Lorg/apache/cassandra/db/Columns;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.apache.cassandra.db.Columns this
        start local 1 // org.apache.cassandra.config.ColumnDefinition column
         0: .line 357
            aload 0 /* this */
            aload 1 /* column */
            invokevirtual org.apache.cassandra.db.Columns.contains:(Lorg/apache/cassandra/config/ColumnDefinition;)Z
            ifne 2
         1: .line 358
            aload 0 /* this */
            areturn
         2: .line 360
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.apache.cassandra.db.Columns.columns:[Ljava/lang/Object;
            invokestatic java.util.Comparator.naturalOrder:()Ljava/util/Comparator;
            aload 1 /* column */
            invokestatic org.apache.cassandra.utils.btree.BTreeRemoval.remove:([Ljava/lang/Object;Ljava/util/Comparator;Ljava/lang/Object;)[Ljava/lang/Object;
            astore 2 /* newColumns */
        start local 2 // java.lang.Object[] newColumns
         3: .line 361
            new org.apache.cassandra.db.Columns
            dup
            aload 2 /* newColumns */
            invokespecial org.apache.cassandra.db.Columns.<init>:([Ljava/lang/Object;)V
            areturn
        end local 2 // java.lang.Object[] newColumns
        end local 1 // org.apache.cassandra.config.ColumnDefinition column
        end local 0 // org.apache.cassandra.db.Columns this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/apache/cassandra/db/Columns;
            0    4     1      column  Lorg/apache/cassandra/config/ColumnDefinition;
            3    4     2  newColumns  [Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      column  

  public java.util.function.Predicate<org.apache.cassandra.config.ColumnDefinition> inOrderInclusionTester();
    descriptor: ()Ljava/util/function/Predicate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.apache.cassandra.db.Columns this
         0: .line 372
            aload 0 /* this */
            getfield org.apache.cassandra.db.Columns.columns:[Ljava/lang/Object;
            invokestatic java.util.Comparator.naturalOrder:()Ljava/util/Comparator;
            getstatic org.apache.cassandra.utils.btree.BTree$Dir.ASC:Lorg/apache/cassandra/utils/btree/BTree$Dir;
            invokestatic org.apache.cassandra.utils.btree.BTree.slice:([Ljava/lang/Object;Ljava/util/Comparator;Lorg/apache/cassandra/utils/btree/BTree$Dir;)Lorg/apache/cassandra/utils/btree/BTreeSearchIterator;
            astore 1 /* iter */
        start local 1 // org.apache.cassandra.utils.SearchIterator iter
         1: .line 373
            aload 1 /* iter */
            invokedynamic test(Lorg/apache/cassandra/utils/SearchIterator;)Ljava/util/function/Predicate;
              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;)Z
                  org/apache/cassandra/db/Columns.lambda$1(Lorg/apache/cassandra/utils/SearchIterator;Lorg/apache/cassandra/config/ColumnDefinition;)Z (6)
                  (Lorg/apache/cassandra/config/ColumnDefinition;)Z
            areturn
        end local 1 // org.apache.cassandra.utils.SearchIterator iter
        end local 0 // org.apache.cassandra.db.Columns this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/db/Columns;
            1    2     1  iter  Lorg/apache/cassandra/utils/SearchIterator<Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/config/ColumnDefinition;>;
    Signature: ()Ljava/util/function/Predicate<Lorg/apache/cassandra/config/ColumnDefinition;>;

  public void digest(java.security.MessageDigest);
    descriptor: (Ljava/security/MessageDigest;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.apache.cassandra.db.Columns this
        start local 1 // java.security.MessageDigest digest
         0: .line 378
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.Columns.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: org.apache.cassandra.db.Columns java.security.MessageDigest top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.config.ColumnDefinition
            astore 2 /* c */
        start local 2 // org.apache.cassandra.config.ColumnDefinition c
         2: .line 379
            aload 1 /* digest */
            aload 2 /* c */
            getfield org.apache.cassandra.config.ColumnDefinition.name:Lorg/apache/cassandra/cql3/ColumnIdentifier;
            getfield org.apache.cassandra.cql3.ColumnIdentifier.bytes:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.duplicate:()Ljava/nio/ByteBuffer;
            invokevirtual java.security.MessageDigest.update:(Ljava/nio/ByteBuffer;)V
        end local 2 // org.apache.cassandra.config.ColumnDefinition c
         3: .line 378
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 380
            return
        end local 1 // java.security.MessageDigest digest
        end local 0 // org.apache.cassandra.db.Columns this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lorg/apache/cassandra/db/Columns;
            0    5     1  digest  Ljava/security/MessageDigest;
            2    3     2       c  Lorg/apache/cassandra/config/ColumnDefinition;
    MethodParameters:
        Name  Flags
      digest  

  public void digest(java.security.MessageDigest, java.util.Set<java.nio.ByteBuffer>);
    descriptor: (Ljava/security/MessageDigest;Ljava/util/Set;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=3
        start local 0 // org.apache.cassandra.db.Columns this
        start local 1 // java.security.MessageDigest digest
        start local 2 // java.util.Set columnsToExclude
         0: .line 384
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.Columns.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: org.apache.cassandra.db.Columns java.security.MessageDigest java.util.Set top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.config.ColumnDefinition
            astore 3 /* c */
        start local 3 // org.apache.cassandra.config.ColumnDefinition c
         2: .line 385
            aload 2 /* columnsToExclude */
            aload 3 /* c */
            getfield org.apache.cassandra.config.ColumnDefinition.name:Lorg/apache/cassandra/cql3/ColumnIdentifier;
            getfield org.apache.cassandra.cql3.ColumnIdentifier.bytes:Ljava/nio/ByteBuffer;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 4
         3: .line 386
            aload 1 /* digest */
            aload 3 /* c */
            getfield org.apache.cassandra.config.ColumnDefinition.name:Lorg/apache/cassandra/cql3/ColumnIdentifier;
            getfield org.apache.cassandra.cql3.ColumnIdentifier.bytes:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.duplicate:()Ljava/nio/ByteBuffer;
            invokevirtual java.security.MessageDigest.update:(Ljava/nio/ByteBuffer;)V
        end local 3 // org.apache.cassandra.config.ColumnDefinition c
         4: .line 384
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 387
            return
        end local 2 // java.util.Set columnsToExclude
        end local 1 // java.security.MessageDigest digest
        end local 0 // org.apache.cassandra.db.Columns this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    6     0              this  Lorg/apache/cassandra/db/Columns;
            0    6     1            digest  Ljava/security/MessageDigest;
            0    6     2  columnsToExclude  Ljava/util/Set<Ljava/nio/ByteBuffer;>;
            2    4     3                 c  Lorg/apache/cassandra/config/ColumnDefinition;
    Signature: (Ljava/security/MessageDigest;Ljava/util/Set<Ljava/nio/ByteBuffer;>;)V
    MethodParameters:
                  Name  Flags
      digest            
      columnsToExclude  

  public void apply(java.util.function.Consumer<org.apache.cassandra.config.ColumnDefinition>, );
    descriptor: (Ljava/util/function/Consumer;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.cassandra.db.Columns this
        start local 1 // java.util.function.Consumer function
        start local 2 // boolean reversed
         0: .line 396
            aload 0 /* this */
            getfield org.apache.cassandra.db.Columns.columns:[Ljava/lang/Object;
            aload 1 /* function */
            iload 2 /* reversed */
            invokestatic org.apache.cassandra.utils.btree.BTree.apply:([Ljava/lang/Object;Ljava/util/function/Consumer;Z)V
         1: .line 397
            return
        end local 2 // boolean reversed
        end local 1 // java.util.function.Consumer function
        end local 0 // org.apache.cassandra.db.Columns this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/cassandra/db/Columns;
            0    2     1  function  Ljava/util/function/Consumer<Lorg/apache/cassandra/config/ColumnDefinition;>;
            0    2     2  reversed  Z
    Signature: (Ljava/util/function/Consumer<Lorg/apache/cassandra/config/ColumnDefinition;>;Z)V
    MethodParameters:
          Name  Flags
      function  
      reversed  

  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.db.Columns this
        start local 1 // java.lang.Object other
         0: .line 402
            aload 1 /* other */
            aload 0 /* this */
            if_acmpne 2
         1: .line 403
            iconst_1
            ireturn
         2: .line 404
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            instanceof org.apache.cassandra.db.Columns
            ifne 4
         3: .line 405
            iconst_0
            ireturn
         4: .line 407
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            checkcast org.apache.cassandra.db.Columns
            astore 2 /* that */
        start local 2 // org.apache.cassandra.db.Columns that
         5: .line 408
            aload 0 /* this */
            getfield org.apache.cassandra.db.Columns.complexIdx:I
            aload 2 /* that */
            getfield org.apache.cassandra.db.Columns.complexIdx:I
            if_icmpne 6
            aload 0 /* this */
            getfield org.apache.cassandra.db.Columns.columns:[Ljava/lang/Object;
            aload 2 /* that */
            getfield org.apache.cassandra.db.Columns.columns:[Ljava/lang/Object;
            invokestatic org.apache.cassandra.utils.btree.BTree.equals:([Ljava/lang/Object;[Ljava/lang/Object;)Z
            ifeq 6
            iconst_1
            ireturn
      StackMap locals: org.apache.cassandra.db.Columns
      StackMap stack:
         6: iconst_0
            ireturn
        end local 2 // org.apache.cassandra.db.Columns that
        end local 1 // java.lang.Object other
        end local 0 // org.apache.cassandra.db.Columns this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lorg/apache/cassandra/db/Columns;
            0    7     1  other  Ljava/lang/Object;
            5    7     2   that  Lorg/apache/cassandra/db/Columns;
    MethodParameters:
       Name  Flags
      other  

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.Columns this
         0: .line 414
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.apache.cassandra.db.Columns.complexIdx:I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.apache.cassandra.db.Columns.columns:[Ljava/lang/Object;
            invokestatic org.apache.cassandra.utils.btree.BTree.hashCode:([Ljava/lang/Object;)I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.util.Objects.hash:([Ljava/lang/Object;)I
            ireturn
        end local 0 // org.apache.cassandra.db.Columns this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/db/Columns;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // org.apache.cassandra.db.Columns this
         0: .line 420
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 421
            iconst_1
            istore 2 /* first */
        start local 2 // boolean first
         2: .line 422
            aload 0 /* this */
            invokevirtual org.apache.cassandra.db.Columns.iterator:()Ljava/util/Iterator;
            astore 4
            goto 7
      StackMap locals: org.apache.cassandra.db.Columns java.lang.StringBuilder int top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.config.ColumnDefinition
            astore 3 /* def */
        start local 3 // org.apache.cassandra.config.ColumnDefinition def
         4: .line 424
            iload 2 /* first */
            ifeq 5
            iconst_0
            istore 2 /* first */
            goto 6
      StackMap locals: org.apache.cassandra.db.Columns java.lang.StringBuilder int org.apache.cassandra.config.ColumnDefinition java.util.Iterator
      StackMap stack:
         5: aload 1 /* sb */
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 425
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            aload 3 /* def */
            getfield org.apache.cassandra.config.ColumnDefinition.name:Lorg/apache/cassandra/cql3/ColumnIdentifier;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        end local 3 // org.apache.cassandra.config.ColumnDefinition def
         7: .line 422
      StackMap locals: org.apache.cassandra.db.Columns java.lang.StringBuilder int top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         8: .line 427
            aload 1 /* sb */
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // boolean first
        end local 1 // java.lang.StringBuilder sb
        end local 0 // org.apache.cassandra.db.Columns this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lorg/apache/cassandra/db/Columns;
            1    9     1     sb  Ljava/lang/StringBuilder;
            2    9     2  first  Z
            4    7     3    def  Lorg/apache/cassandra/config/ColumnDefinition;

  public java.util.Iterator iterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1
            aload 0
            invokevirtual org.apache.cassandra.db.Columns.iterator:()Lorg/apache/cassandra/utils/btree/BTreeSearchIterator;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static int lambda$0(org.apache.cassandra.config.ColumnDefinition, org.apache.cassandra.config.ColumnDefinition);
    descriptor: (Lorg/apache/cassandra/config/ColumnDefinition;Lorg/apache/cassandra/config/ColumnDefinition;)I
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.config.ColumnDefinition s
        start local 1 // org.apache.cassandra.config.ColumnDefinition c
         0: .line 342
            getstatic org.apache.cassandra.db.Columns.$assertionsDisabled:Z
            ifne 1
            aload 0 /* s */
            getfield org.apache.cassandra.config.ColumnDefinition.kind:Lorg/apache/cassandra/config/ColumnDefinition$Kind;
            invokevirtual org.apache.cassandra.config.ColumnDefinition$Kind.isPrimaryKeyKind:()Z
            ifeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 343
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            getfield org.apache.cassandra.config.ColumnDefinition.name:Lorg/apache/cassandra/cql3/ColumnIdentifier;
            getfield org.apache.cassandra.cql3.ColumnIdentifier.bytes:Ljava/nio/ByteBuffer;
            aload 1 /* c */
            getfield org.apache.cassandra.config.ColumnDefinition.name:Lorg/apache/cassandra/cql3/ColumnIdentifier;
            getfield org.apache.cassandra.cql3.ColumnIdentifier.bytes:Ljava/nio/ByteBuffer;
            invokevirtual java.nio.ByteBuffer.compareTo:(Ljava/nio/ByteBuffer;)I
            ireturn
        end local 1 // org.apache.cassandra.config.ColumnDefinition c
        end local 0 // org.apache.cassandra.config.ColumnDefinition s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     s  Lorg/apache/cassandra/config/ColumnDefinition;
            0    2     1     c  Lorg/apache/cassandra/config/ColumnDefinition;

  private static boolean lambda$1(org.apache.cassandra.utils.SearchIterator, org.apache.cassandra.config.ColumnDefinition);
    descriptor: (Lorg/apache/cassandra/utils/SearchIterator;Lorg/apache/cassandra/config/ColumnDefinition;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // org.apache.cassandra.config.ColumnDefinition column
         0: .line 373
            aload 0
            aload 1 /* column */
            invokeinterface org.apache.cassandra.utils.SearchIterator.next:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnull 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // org.apache.cassandra.config.ColumnDefinition column
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     1  column  Lorg/apache/cassandra/config/ColumnDefinition;
}
Signature: Ljava/util/AbstractCollection<Lorg/apache/cassandra/config/ColumnDefinition;>;Ljava/util/Collection<Lorg/apache/cassandra/config/ColumnDefinition;>;
SourceFile: "Columns.java"
NestMembers:
  org.apache.cassandra.db.Columns$Serializer
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public final Kind = org.apache.cassandra.config.ColumnDefinition$Kind of org.apache.cassandra.config.ColumnDefinition
  public Serializer = org.apache.cassandra.db.Columns$Serializer of org.apache.cassandra.db.Columns
  public Builder = org.apache.cassandra.utils.btree.BTree$Builder of org.apache.cassandra.utils.btree.BTree
  public final Dir = org.apache.cassandra.utils.btree.BTree$Dir of org.apache.cassandra.utils.btree.BTree