public class org.apache.cassandra.dht.LocalPartitioner implements org.apache.cassandra.dht.IPartitioner
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.dht.LocalPartitioner
  super_class: java.lang.Object
{
  private static final long EMPTY_SIZE;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  final org.apache.cassandra.db.marshal.AbstractType<?> comparator;
    descriptor: Lorg/apache/cassandra/db/marshal/AbstractType;
    flags: (0x0010) ACC_FINAL
    Signature: Lorg/apache/cassandra/db/marshal/AbstractType<*>;

  private final org.apache.cassandra.dht.Token$TokenFactory tokenFactory;
    descriptor: Lorg/apache/cassandra/dht/Token$TokenFactory;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 35
            new org.apache.cassandra.dht.LocalPartitioner$LocalToken
            dup
            new org.apache.cassandra.dht.LocalPartitioner
            dup
            aconst_null
            invokespecial org.apache.cassandra.dht.LocalPartitioner.<init>:(Lorg/apache/cassandra/db/marshal/AbstractType;)V
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokespecial org.apache.cassandra.dht.LocalPartitioner$LocalToken.<init>:(Lorg/apache/cassandra/dht/LocalPartitioner;)V
            invokestatic org.apache.cassandra.utils.ObjectSizes.measure:(Ljava/lang/Object;)J
            putstatic org.apache.cassandra.dht.LocalPartitioner.EMPTY_SIZE:J
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.apache.cassandra.db.marshal.AbstractType<?>);
    descriptor: (Lorg/apache/cassandra/db/marshal/AbstractType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.cassandra.dht.LocalPartitioner this
        start local 1 // org.apache.cassandra.db.marshal.AbstractType comparator
         0: .line 39
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 84
            aload 0 /* this */
            new org.apache.cassandra.dht.LocalPartitioner$1
            dup
            aload 0 /* this */
            invokespecial org.apache.cassandra.dht.LocalPartitioner$1.<init>:(Lorg/apache/cassandra/dht/LocalPartitioner;)V
            putfield org.apache.cassandra.dht.LocalPartitioner.tokenFactory:Lorg/apache/cassandra/dht/Token$TokenFactory;
         2: .line 41
            aload 0 /* this */
            aload 1 /* comparator */
            putfield org.apache.cassandra.dht.LocalPartitioner.comparator:Lorg/apache/cassandra/db/marshal/AbstractType;
         3: .line 42
            return
        end local 1 // org.apache.cassandra.db.marshal.AbstractType comparator
        end local 0 // org.apache.cassandra.dht.LocalPartitioner this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lorg/apache/cassandra/dht/LocalPartitioner;
            0    4     1  comparator  Lorg/apache/cassandra/db/marshal/AbstractType<*>;
    Signature: (Lorg/apache/cassandra/db/marshal/AbstractType<*>;)V
    MethodParameters:
            Name  Flags
      comparator  

  public org.apache.cassandra.db.DecoratedKey decorateKey(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/db/DecoratedKey;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.cassandra.dht.LocalPartitioner this
        start local 1 // java.nio.ByteBuffer key
         0: .line 46
            new org.apache.cassandra.db.CachedHashDecoratedKey
            dup
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual org.apache.cassandra.dht.LocalPartitioner.getToken:(Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/dht/LocalPartitioner$LocalToken;
            aload 1 /* key */
            invokespecial org.apache.cassandra.db.CachedHashDecoratedKey.<init>:(Lorg/apache/cassandra/dht/Token;Ljava/nio/ByteBuffer;)V
            areturn
        end local 1 // java.nio.ByteBuffer key
        end local 0 // org.apache.cassandra.dht.LocalPartitioner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/dht/LocalPartitioner;
            0    1     1   key  Ljava/nio/ByteBuffer;
    MethodParameters:
      Name  Flags
      key   

  public org.apache.cassandra.dht.Token midpoint(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/Token;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.cassandra.dht.LocalPartitioner this
        start local 1 // org.apache.cassandra.dht.Token left
        start local 2 // org.apache.cassandra.dht.Token right
         0: .line 51
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 2 // org.apache.cassandra.dht.Token right
        end local 1 // org.apache.cassandra.dht.Token left
        end local 0 // org.apache.cassandra.dht.LocalPartitioner this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lorg/apache/cassandra/dht/LocalPartitioner;
            0    1     1   left  Lorg/apache/cassandra/dht/Token;
            0    1     2  right  Lorg/apache/cassandra/dht/Token;
    MethodParameters:
       Name  Flags
      left   
      right  

  public org.apache.cassandra.dht.Token split(org.apache.cassandra.dht.Token, org.apache.cassandra.dht.Token, double);
    descriptor: (Lorg/apache/cassandra/dht/Token;Lorg/apache/cassandra/dht/Token;D)Lorg/apache/cassandra/dht/Token;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=4
        start local 0 // org.apache.cassandra.dht.LocalPartitioner this
        start local 1 // org.apache.cassandra.dht.Token left
        start local 2 // org.apache.cassandra.dht.Token right
        start local 3 // double ratioToLeft
         0: .line 56
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 3 // double ratioToLeft
        end local 2 // org.apache.cassandra.dht.Token right
        end local 1 // org.apache.cassandra.dht.Token left
        end local 0 // org.apache.cassandra.dht.LocalPartitioner this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/apache/cassandra/dht/LocalPartitioner;
            0    1     1         left  Lorg/apache/cassandra/dht/Token;
            0    1     2        right  Lorg/apache/cassandra/dht/Token;
            0    1     3  ratioToLeft  D
    MethodParameters:
             Name  Flags
      left         
      right        
      ratioToLeft  

  public org.apache.cassandra.dht.LocalPartitioner$LocalToken getMinimumToken();
    descriptor: ()Lorg/apache/cassandra/dht/LocalPartitioner$LocalToken;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.cassandra.dht.LocalPartitioner this
         0: .line 61
            new org.apache.cassandra.dht.LocalPartitioner$LocalToken
            dup
            aload 0 /* this */
            getstatic org.apache.cassandra.utils.ByteBufferUtil.EMPTY_BYTE_BUFFER:Ljava/nio/ByteBuffer;
            invokespecial org.apache.cassandra.dht.LocalPartitioner$LocalToken.<init>:(Lorg/apache/cassandra/dht/LocalPartitioner;Ljava/nio/ByteBuffer;)V
            areturn
        end local 0 // org.apache.cassandra.dht.LocalPartitioner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/dht/LocalPartitioner;

  public org.apache.cassandra.dht.LocalPartitioner$LocalToken getToken(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/dht/LocalPartitioner$LocalToken;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.cassandra.dht.LocalPartitioner this
        start local 1 // java.nio.ByteBuffer key
         0: .line 66
            new org.apache.cassandra.dht.LocalPartitioner$LocalToken
            dup
            aload 0 /* this */
            aload 1 /* key */
            invokespecial org.apache.cassandra.dht.LocalPartitioner$LocalToken.<init>:(Lorg/apache/cassandra/dht/LocalPartitioner;Ljava/nio/ByteBuffer;)V
            areturn
        end local 1 // java.nio.ByteBuffer key
        end local 0 // org.apache.cassandra.dht.LocalPartitioner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/dht/LocalPartitioner;
            0    1     1   key  Ljava/nio/ByteBuffer;
    MethodParameters:
      Name  Flags
      key   

  public org.apache.cassandra.dht.LocalPartitioner$LocalToken getRandomToken();
    descriptor: ()Lorg/apache/cassandra/dht/LocalPartitioner$LocalToken;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.dht.LocalPartitioner this
         0: .line 71
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 0 // org.apache.cassandra.dht.LocalPartitioner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/dht/LocalPartitioner;

  public org.apache.cassandra.dht.LocalPartitioner$LocalToken getRandomToken(java.util.Random);
    descriptor: (Ljava/util/Random;)Lorg/apache/cassandra/dht/LocalPartitioner$LocalToken;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.dht.LocalPartitioner this
        start local 1 // java.util.Random random
         0: .line 76
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 1 // java.util.Random random
        end local 0 // org.apache.cassandra.dht.LocalPartitioner this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/apache/cassandra/dht/LocalPartitioner;
            0    1     1  random  Ljava/util/Random;
    MethodParameters:
        Name  Flags
      random  

  public org.apache.cassandra.dht.Token$TokenFactory getTokenFactory();
    descriptor: ()Lorg/apache/cassandra/dht/Token$TokenFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.dht.LocalPartitioner this
         0: .line 81
            aload 0 /* this */
            getfield org.apache.cassandra.dht.LocalPartitioner.tokenFactory:Lorg/apache/cassandra/dht/Token$TokenFactory;
            areturn
        end local 0 // org.apache.cassandra.dht.LocalPartitioner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/dht/LocalPartitioner;

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

  public java.util.Map<org.apache.cassandra.dht.Token, java.lang.Float> describeOwnership(java.util.List<org.apache.cassandra.dht.Token>);
    descriptor: (Ljava/util/List;)Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.apache.cassandra.dht.LocalPartitioner this
        start local 1 // java.util.List sortedTokens
         0: .line 119
            aload 0 /* this */
            invokevirtual org.apache.cassandra.dht.LocalPartitioner.getMinimumToken:()Lorg/apache/cassandra/dht/LocalPartitioner$LocalToken;
            new java.lang.Float
            dup
            dconst_1
            invokespecial java.lang.Float.<init>:(D)V
            invokestatic java.util.Collections.singletonMap:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
            areturn
        end local 1 // java.util.List sortedTokens
        end local 0 // org.apache.cassandra.dht.LocalPartitioner this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/apache/cassandra/dht/LocalPartitioner;
            0    1     1  sortedTokens  Ljava/util/List<Lorg/apache/cassandra/dht/Token;>;
    Signature: (Ljava/util/List<Lorg/apache/cassandra/dht/Token;>;)Ljava/util/Map<Lorg/apache/cassandra/dht/Token;Ljava/lang/Float;>;
    MethodParameters:
              Name  Flags
      sortedTokens  

  public org.apache.cassandra.db.marshal.AbstractType<?> getTokenValidator();
    descriptor: ()Lorg/apache/cassandra/db/marshal/AbstractType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.dht.LocalPartitioner this
         0: .line 124
            aload 0 /* this */
            getfield org.apache.cassandra.dht.LocalPartitioner.comparator:Lorg/apache/cassandra/db/marshal/AbstractType;
            areturn
        end local 0 // org.apache.cassandra.dht.LocalPartitioner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/dht/LocalPartitioner;
    Signature: ()Lorg/apache/cassandra/db/marshal/AbstractType<*>;

  public org.apache.cassandra.db.marshal.AbstractType<?> partitionOrdering();
    descriptor: ()Lorg/apache/cassandra/db/marshal/AbstractType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.dht.LocalPartitioner this
         0: .line 129
            aload 0 /* this */
            getfield org.apache.cassandra.dht.LocalPartitioner.comparator:Lorg/apache/cassandra/db/marshal/AbstractType;
            areturn
        end local 0 // org.apache.cassandra.dht.LocalPartitioner this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/dht/LocalPartitioner;
    Signature: ()Lorg/apache/cassandra/db/marshal/AbstractType<*>;

  public org.apache.cassandra.dht.Token getToken(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/dht/Token;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.apache.cassandra.dht.LocalPartitioner.getToken:(Ljava/nio/ByteBuffer;)Lorg/apache/cassandra/dht/LocalPartitioner$LocalToken;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.apache.cassandra.dht.Token getRandomToken(java.util.Random);
    descriptor: (Ljava/util/Random;)Lorg/apache/cassandra/dht/Token;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 1
            aload 0
            aload 1
            invokevirtual org.apache.cassandra.dht.LocalPartitioner.getRandomToken:(Ljava/util/Random;)Lorg/apache/cassandra/dht/LocalPartitioner$LocalToken;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.apache.cassandra.dht.Token getRandomToken();
    descriptor: ()Lorg/apache/cassandra/dht/Token;
    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.dht.LocalPartitioner.getRandomToken:()Lorg/apache/cassandra/dht/LocalPartitioner$LocalToken;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public org.apache.cassandra.dht.Token getMinimumToken();
    descriptor: ()Lorg/apache/cassandra/dht/Token;
    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.dht.LocalPartitioner.getMinimumToken:()Lorg/apache/cassandra/dht/LocalPartitioner$LocalToken;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "LocalPartitioner.java"
NestMembers:
  org.apache.cassandra.dht.LocalPartitioner$1  org.apache.cassandra.dht.LocalPartitioner$LocalToken
InnerClasses:
  org.apache.cassandra.dht.LocalPartitioner$1
  public LocalToken = org.apache.cassandra.dht.LocalPartitioner$LocalToken of org.apache.cassandra.dht.LocalPartitioner
  public abstract TokenFactory = org.apache.cassandra.dht.Token$TokenFactory of org.apache.cassandra.dht.Token