public class org.apache.cassandra.repair.messages.RepairOption
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.repair.messages.RepairOption
  super_class: java.lang.Object
{
  public static final java.lang.String PARALLELISM_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "parallelism"

  public static final java.lang.String PRIMARY_RANGE_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "primaryRange"

  public static final java.lang.String INCREMENTAL_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "incremental"

  public static final java.lang.String JOB_THREADS_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "jobThreads"

  public static final java.lang.String RANGES_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "ranges"

  public static final java.lang.String COLUMNFAMILIES_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "columnFamilies"

  public static final java.lang.String DATACENTERS_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "dataCenters"

  public static final java.lang.String HOSTS_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "hosts"

  public static final java.lang.String TRACE_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "trace"

  public static final java.lang.String SUB_RANGE_REPAIR_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "sub_range_repair"

  public static final java.lang.String PULL_REPAIR_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "pullRepair"

  public static final int MAX_JOB_THREADS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  private static final org.slf4j.Logger logger;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final org.apache.cassandra.repair.RepairParallelism parallelism;
    descriptor: Lorg/apache/cassandra/repair/RepairParallelism;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean primaryRange;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean incremental;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean trace;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final boolean isSubrangeRepair;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean pullRepair;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Collection<java.lang.String> columnFamilies;
    descriptor: Ljava/util/Collection;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Collection<Ljava/lang/String;>;

  private final java.util.Collection<java.lang.String> dataCenters;
    descriptor: Ljava/util/Collection;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Collection<Ljava/lang/String;>;

  private final java.util.Collection<java.lang.String> hosts;
    descriptor: Ljava/util/Collection;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Collection<Ljava/lang/String;>;

  private final java.util.Collection<org.apache.cassandra.dht.Range<org.apache.cassandra.dht.Token>> ranges;
    descriptor: Ljava/util/Collection;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 54
            ldc Lorg/apache/cassandra/repair/messages/RepairOption;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic org.apache.cassandra.repair.messages.RepairOption.logger:Lorg/slf4j/Logger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static org.apache.cassandra.repair.messages.RepairOption parse(java.util.Map<java.lang.String, java.lang.String>, org.apache.cassandra.dht.IPartitioner);
    descriptor: (Ljava/util/Map;Lorg/apache/cassandra/dht/IPartitioner;)Lorg/apache/cassandra/repair/messages/RepairOption;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=10, locals=18, args_size=2
        start local 0 // java.util.Map options
        start local 1 // org.apache.cassandra.dht.IPartitioner partitioner
         0: .line 136
            aload 0 /* options */
            ldc "parallelism"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic org.apache.cassandra.repair.RepairParallelism.fromName:(Ljava/lang/String;)Lorg/apache/cassandra/repair/RepairParallelism;
            astore 2 /* parallelism */
        start local 2 // org.apache.cassandra.repair.RepairParallelism parallelism
         1: .line 137
            aload 0 /* options */
            ldc "primaryRange"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
            istore 3 /* primaryRange */
        start local 3 // boolean primaryRange
         2: .line 138
            aload 0 /* options */
            ldc "incremental"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
            istore 4 /* incremental */
        start local 4 // boolean incremental
         3: .line 139
            aload 0 /* options */
            ldc "trace"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
            istore 5 /* trace */
        start local 5 // boolean trace
         4: .line 140
            aload 0 /* options */
            ldc "pullRepair"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic java.lang.Boolean.parseBoolean:(Ljava/lang/String;)Z
            istore 6 /* pullRepair */
        start local 6 // boolean pullRepair
         5: .line 142
            iconst_1
            istore 7 /* jobThreads */
        start local 7 // int jobThreads
         6: .line 143
            aload 0 /* options */
            ldc "jobThreads"
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifeq 10
         7: .line 147
            aload 0 /* options */
            ldc "jobThreads"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 7 /* jobThreads */
         8: .line 148
            goto 10
         9: .line 149
      StackMap locals: java.util.Map org.apache.cassandra.dht.IPartitioner org.apache.cassandra.repair.RepairParallelism int int int int int
      StackMap stack: java.lang.NumberFormatException
            pop
        10: .line 152
      StackMap locals:
      StackMap stack:
            aload 0 /* options */
            ldc "ranges"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* rangesStr */
        start local 8 // java.lang.String rangesStr
        11: .line 153
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 9 /* ranges */
        start local 9 // java.util.Set ranges
        12: .line 154
            aload 8 /* rangesStr */
            ifnull 26
        13: .line 156
            iload 4 /* incremental */
            ifeq 15
        14: .line 157
            getstatic org.apache.cassandra.repair.messages.RepairOption.logger:Lorg/slf4j/Logger;
            ldc "Incremental repair can't be requested with subrange repair because each subrange repair would generate an anti-compacted table. The repair will occur but without anti-compaction."
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;)V
        15: .line 160
      StackMap locals: java.lang.String java.util.Set
      StackMap stack:
            new java.util.StringTokenizer
            dup
            aload 8 /* rangesStr */
            ldc ","
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 10 /* tokenizer */
        start local 10 // java.util.StringTokenizer tokenizer
        16: .line 161
            goto 25
        17: .line 163
      StackMap locals: java.util.StringTokenizer
      StackMap stack:
            aload 10 /* tokenizer */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            ldc ":"
            iconst_2
            invokevirtual java.lang.String.split:(Ljava/lang/String;I)[Ljava/lang/String;
            astore 11 /* rangeStr */
        start local 11 // java.lang.String[] rangeStr
        18: .line 164
            aload 11 /* rangeStr */
            arraylength
            iconst_2
            if_icmpge 20
        19: .line 166
            goto 25
        20: .line 168
      StackMap locals: java.lang.String[]
      StackMap stack:
            aload 1 /* partitioner */
            invokeinterface org.apache.cassandra.dht.IPartitioner.getTokenFactory:()Lorg/apache/cassandra/dht/Token$TokenFactory;
            aload 11 /* rangeStr */
            iconst_0
            aaload
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual org.apache.cassandra.dht.Token$TokenFactory.fromString:(Ljava/lang/String;)Lorg/apache/cassandra/dht/Token;
            astore 12 /* parsedBeginToken */
        start local 12 // org.apache.cassandra.dht.Token parsedBeginToken
        21: .line 169
            aload 1 /* partitioner */
            invokeinterface org.apache.cassandra.dht.IPartitioner.getTokenFactory:()Lorg/apache/cassandra/dht/Token$TokenFactory;
            aload 11 /* rangeStr */
            iconst_1
            aaload
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual org.apache.cassandra.dht.Token$TokenFactory.fromString:(Ljava/lang/String;)Lorg/apache/cassandra/dht/Token;
            astore 13 /* parsedEndToken */
        start local 13 // org.apache.cassandra.dht.Token parsedEndToken
        22: .line 170
            aload 12 /* parsedBeginToken */
            aload 13 /* parsedEndToken */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 24
        23: .line 172
            new java.lang.IllegalArgumentException
            dup
            ldc "Start and end tokens must be different."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        24: .line 174
      StackMap locals: org.apache.cassandra.dht.Token org.apache.cassandra.dht.Token
      StackMap stack:
            aload 9 /* ranges */
            new org.apache.cassandra.dht.Range
            dup
            aload 12 /* parsedBeginToken */
            aload 13 /* parsedEndToken */
            invokespecial org.apache.cassandra.dht.Range.<init>:(Lorg/apache/cassandra/dht/RingPosition;Lorg/apache/cassandra/dht/RingPosition;)V
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 13 // org.apache.cassandra.dht.Token parsedEndToken
        end local 12 // org.apache.cassandra.dht.Token parsedBeginToken
        end local 11 // java.lang.String[] rangeStr
        25: .line 161
      StackMap locals:
      StackMap stack:
            aload 10 /* tokenizer */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 17
        end local 10 // java.util.StringTokenizer tokenizer
        26: .line 178
      StackMap locals:
      StackMap stack:
            new org.apache.cassandra.repair.messages.RepairOption
            dup
            aload 2 /* parallelism */
            iload 3 /* primaryRange */
            iload 4 /* incremental */
            iload 5 /* trace */
            iload 7 /* jobThreads */
            aload 9 /* ranges */
            aload 9 /* ranges */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 27
            iconst_0
            goto 28
      StackMap locals: java.util.Map org.apache.cassandra.dht.IPartitioner org.apache.cassandra.repair.RepairParallelism int int int int int java.lang.String java.util.Set
      StackMap stack: new 26 new 26 org.apache.cassandra.repair.RepairParallelism int int int int java.util.Set
        27: iconst_1
      StackMap locals: java.util.Map org.apache.cassandra.dht.IPartitioner org.apache.cassandra.repair.RepairParallelism int int int int int java.lang.String java.util.Set
      StackMap stack: new 26 new 26 org.apache.cassandra.repair.RepairParallelism int int int int java.util.Set int
        28: iload 6 /* pullRepair */
            invokespecial org.apache.cassandra.repair.messages.RepairOption.<init>:(Lorg/apache/cassandra/repair/RepairParallelism;ZZZILjava/util/Collection;ZZ)V
            astore 10 /* option */
        start local 10 // org.apache.cassandra.repair.messages.RepairOption option
        29: .line 181
            aload 0 /* options */
            ldc "dataCenters"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 11 /* dataCentersStr */
        start local 11 // java.lang.String dataCentersStr
        30: .line 182
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 12 /* dataCenters */
        start local 12 // java.util.Collection dataCenters
        31: .line 183
            aload 11 /* dataCentersStr */
            ifnull 37
        32: .line 185
            new java.util.StringTokenizer
            dup
            aload 11 /* dataCentersStr */
            ldc ","
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 13 /* tokenizer */
        start local 13 // java.util.StringTokenizer tokenizer
        33: .line 186
            goto 35
        34: .line 188
      StackMap locals: java.util.Map org.apache.cassandra.dht.IPartitioner org.apache.cassandra.repair.RepairParallelism int int int int int java.lang.String java.util.Set org.apache.cassandra.repair.messages.RepairOption java.lang.String java.util.Collection java.util.StringTokenizer
      StackMap stack:
            aload 12 /* dataCenters */
            aload 13 /* tokenizer */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        35: .line 186
      StackMap locals:
      StackMap stack:
            aload 13 /* tokenizer */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 34
        36: .line 190
            aload 10 /* option */
            invokevirtual org.apache.cassandra.repair.messages.RepairOption.getDataCenters:()Ljava/util/Collection;
            aload 12 /* dataCenters */
            invokeinterface java.util.Collection.addAll:(Ljava/util/Collection;)Z
            pop
        end local 13 // java.util.StringTokenizer tokenizer
        37: .line 194
      StackMap locals:
      StackMap stack:
            aload 0 /* options */
            ldc "hosts"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 13 /* hostsStr */
        start local 13 // java.lang.String hostsStr
        38: .line 195
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 14 /* hosts */
        start local 14 // java.util.Collection hosts
        39: .line 196
            aload 13 /* hostsStr */
            ifnull 45
        40: .line 198
            new java.util.StringTokenizer
            dup
            aload 13 /* hostsStr */
            ldc ","
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 15 /* tokenizer */
        start local 15 // java.util.StringTokenizer tokenizer
        41: .line 199
            goto 43
        42: .line 201
      StackMap locals: java.lang.String java.util.Collection java.util.StringTokenizer
      StackMap stack:
            aload 14 /* hosts */
            aload 15 /* tokenizer */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        43: .line 199
      StackMap locals:
      StackMap stack:
            aload 15 /* tokenizer */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 42
        44: .line 203
            aload 10 /* option */
            invokevirtual org.apache.cassandra.repair.messages.RepairOption.getHosts:()Ljava/util/Collection;
            aload 14 /* hosts */
            invokeinterface java.util.Collection.addAll:(Ljava/util/Collection;)Z
            pop
        end local 15 // java.util.StringTokenizer tokenizer
        45: .line 207
      StackMap locals:
      StackMap stack:
            aload 0 /* options */
            ldc "columnFamilies"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 15 /* cfStr */
        start local 15 // java.lang.String cfStr
        46: .line 208
            aload 15 /* cfStr */
            ifnull 53
        47: .line 210
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 16 /* columnFamilies */
        start local 16 // java.util.Collection columnFamilies
        48: .line 211
            new java.util.StringTokenizer
            dup
            aload 15 /* cfStr */
            ldc ","
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 17 /* tokenizer */
        start local 17 // java.util.StringTokenizer tokenizer
        49: .line 212
            goto 51
        50: .line 214
      StackMap locals: java.lang.String java.util.Collection java.util.StringTokenizer
      StackMap stack:
            aload 16 /* columnFamilies */
            aload 17 /* tokenizer */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        51: .line 212
      StackMap locals:
      StackMap stack:
            aload 17 /* tokenizer */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 50
        52: .line 216
            aload 10 /* option */
            invokevirtual org.apache.cassandra.repair.messages.RepairOption.getColumnFamilies:()Ljava/util/Collection;
            aload 16 /* columnFamilies */
            invokeinterface java.util.Collection.addAll:(Ljava/util/Collection;)Z
            pop
        end local 17 // java.util.StringTokenizer tokenizer
        end local 16 // java.util.Collection columnFamilies
        53: .line 220
      StackMap locals:
      StackMap stack:
            iload 7 /* jobThreads */
            iconst_4
            if_icmple 55
        54: .line 222
            new java.lang.IllegalArgumentException
            dup
            ldc "Too many job threads. Max is 4"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        55: .line 224
      StackMap locals:
      StackMap stack:
            aload 12 /* dataCenters */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifne 57
            aload 14 /* hosts */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifne 57
        56: .line 226
            new java.lang.IllegalArgumentException
            dup
            ldc "Cannot combine -dc and -hosts options."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        57: .line 228
      StackMap locals:
      StackMap stack:
            iload 3 /* primaryRange */
            ifeq 60
            aload 12 /* dataCenters */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifne 58
            aload 10 /* option */
            invokevirtual org.apache.cassandra.repair.messages.RepairOption.isInLocalDCOnly:()Z
            ifeq 59
      StackMap locals:
      StackMap stack:
        58: aload 14 /* hosts */
            invokeinterface java.util.Collection.isEmpty:()Z
            ifne 60
        59: .line 230
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "You need to run primary range repair on all nodes in the cluster."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        60: .line 232
      StackMap locals:
      StackMap stack:
            iload 6 /* pullRepair */
            ifeq 65
        61: .line 234
            aload 14 /* hosts */
            invokeinterface java.util.Collection.size:()I
            iconst_2
            if_icmpeq 63
        62: .line 236
            new java.lang.IllegalArgumentException
            dup
            ldc "Pull repair can only be performed between two hosts. Please specify two hosts, one of which must be this host."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        63: .line 238
      StackMap locals:
      StackMap stack:
            aload 9 /* ranges */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 65
        64: .line 240
            new java.lang.IllegalArgumentException
            dup
            ldc "Token ranges must be specified when performing pull repair. Please specify at least one token range which both hosts have in common."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        65: .line 244
      StackMap locals:
      StackMap stack:
            aload 10 /* option */
            areturn
        end local 15 // java.lang.String cfStr
        end local 14 // java.util.Collection hosts
        end local 13 // java.lang.String hostsStr
        end local 12 // java.util.Collection dataCenters
        end local 11 // java.lang.String dataCentersStr
        end local 10 // org.apache.cassandra.repair.messages.RepairOption option
        end local 9 // java.util.Set ranges
        end local 8 // java.lang.String rangesStr
        end local 7 // int jobThreads
        end local 6 // boolean pullRepair
        end local 5 // boolean trace
        end local 4 // boolean incremental
        end local 3 // boolean primaryRange
        end local 2 // org.apache.cassandra.repair.RepairParallelism parallelism
        end local 1 // org.apache.cassandra.dht.IPartitioner partitioner
        end local 0 // java.util.Map options
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   66     0           options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            0   66     1       partitioner  Lorg/apache/cassandra/dht/IPartitioner;
            1   66     2       parallelism  Lorg/apache/cassandra/repair/RepairParallelism;
            2   66     3      primaryRange  Z
            3   66     4       incremental  Z
            4   66     5             trace  Z
            5   66     6        pullRepair  Z
            6   66     7        jobThreads  I
           11   66     8         rangesStr  Ljava/lang/String;
           12   66     9            ranges  Ljava/util/Set<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;
           16   26    10         tokenizer  Ljava/util/StringTokenizer;
           18   25    11          rangeStr  [Ljava/lang/String;
           21   25    12  parsedBeginToken  Lorg/apache/cassandra/dht/Token;
           22   25    13    parsedEndToken  Lorg/apache/cassandra/dht/Token;
           29   66    10            option  Lorg/apache/cassandra/repair/messages/RepairOption;
           30   66    11    dataCentersStr  Ljava/lang/String;
           31   66    12       dataCenters  Ljava/util/Collection<Ljava/lang/String;>;
           33   37    13         tokenizer  Ljava/util/StringTokenizer;
           38   66    13          hostsStr  Ljava/lang/String;
           39   66    14             hosts  Ljava/util/Collection<Ljava/lang/String;>;
           41   45    15         tokenizer  Ljava/util/StringTokenizer;
           46   66    15             cfStr  Ljava/lang/String;
           48   53    16    columnFamilies  Ljava/util/Collection<Ljava/lang/String;>;
           49   53    17         tokenizer  Ljava/util/StringTokenizer;
      Exception table:
        from    to  target  type
           7     8       9  Class java.lang.NumberFormatException
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;Lorg/apache/cassandra/dht/IPartitioner;)Lorg/apache/cassandra/repair/messages/RepairOption;
    MethodParameters:
             Name  Flags
      options      
      partitioner  

  public void <init>(org.apache.cassandra.repair.RepairParallelism, boolean, boolean, boolean, int, java.util.Collection<org.apache.cassandra.dht.Range<org.apache.cassandra.dht.Token>>, boolean, );
    descriptor: (Lorg/apache/cassandra/repair/RepairParallelism;ZZZILjava/util/Collection;ZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=9, args_size=9
        start local 0 // org.apache.cassandra.repair.messages.RepairOption this
        start local 1 // org.apache.cassandra.repair.RepairParallelism parallelism
        start local 2 // boolean primaryRange
        start local 3 // boolean incremental
        start local 4 // boolean trace
        start local 5 // int jobThreads
        start local 6 // java.util.Collection ranges
        start local 7 // boolean isSubrangeRepair
        start local 8 // boolean pullRepair
         0: .line 260
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 255
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.apache.cassandra.repair.messages.RepairOption.columnFamilies:Ljava/util/Collection;
         2: .line 256
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.apache.cassandra.repair.messages.RepairOption.dataCenters:Ljava/util/Collection;
         3: .line 257
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.apache.cassandra.repair.messages.RepairOption.hosts:Ljava/util/Collection;
         4: .line 258
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.apache.cassandra.repair.messages.RepairOption.ranges:Ljava/util/Collection;
         5: .line 262
            getstatic org.apache.cassandra.utils.FBUtilities.isWindows:Z
            ifeq 11
         6: .line 263
            invokestatic org.apache.cassandra.config.DatabaseDescriptor.getDiskAccessMode:()Lorg/apache/cassandra/config/Config$DiskAccessMode;
            getstatic org.apache.cassandra.config.Config$DiskAccessMode.standard:Lorg/apache/cassandra/config/Config$DiskAccessMode;
            if_acmpne 7
            invokestatic org.apache.cassandra.config.DatabaseDescriptor.getIndexAccessMode:()Lorg/apache/cassandra/config/Config$DiskAccessMode;
            getstatic org.apache.cassandra.config.Config$DiskAccessMode.standard:Lorg/apache/cassandra/config/Config$DiskAccessMode;
            if_acmpeq 11
         7: .line 264
      StackMap locals: org.apache.cassandra.repair.messages.RepairOption org.apache.cassandra.repair.RepairParallelism int int int int java.util.Collection int int
      StackMap stack:
            aload 1 /* parallelism */
            getstatic org.apache.cassandra.repair.RepairParallelism.SEQUENTIAL:Lorg/apache/cassandra/repair/RepairParallelism;
            if_acmpne 11
         8: .line 266
            getstatic org.apache.cassandra.repair.messages.RepairOption.logger:Lorg/slf4j/Logger;
            ldc "Sequential repair disabled when memory-mapped I/O is configured on Windows. Reverting to parallel."
            invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;)V
         9: .line 267
            aload 0 /* this */
            getstatic org.apache.cassandra.repair.RepairParallelism.PARALLEL:Lorg/apache/cassandra/repair/RepairParallelism;
            putfield org.apache.cassandra.repair.messages.RepairOption.parallelism:Lorg/apache/cassandra/repair/RepairParallelism;
        10: .line 268
            goto 12
        11: .line 270
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* parallelism */
            putfield org.apache.cassandra.repair.messages.RepairOption.parallelism:Lorg/apache/cassandra/repair/RepairParallelism;
        12: .line 272
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* primaryRange */
            putfield org.apache.cassandra.repair.messages.RepairOption.primaryRange:Z
        13: .line 273
            aload 0 /* this */
            iload 3 /* incremental */
            putfield org.apache.cassandra.repair.messages.RepairOption.incremental:Z
        14: .line 274
            aload 0 /* this */
            iload 4 /* trace */
            putfield org.apache.cassandra.repair.messages.RepairOption.trace:Z
        15: .line 275
            aload 0 /* this */
            iload 5 /* jobThreads */
            putfield org.apache.cassandra.repair.messages.RepairOption.jobThreads:I
        16: .line 276
            aload 0 /* this */
            getfield org.apache.cassandra.repair.messages.RepairOption.ranges:Ljava/util/Collection;
            aload 6 /* ranges */
            invokeinterface java.util.Collection.addAll:(Ljava/util/Collection;)Z
            pop
        17: .line 277
            aload 0 /* this */
            iload 7 /* isSubrangeRepair */
            putfield org.apache.cassandra.repair.messages.RepairOption.isSubrangeRepair:Z
        18: .line 278
            aload 0 /* this */
            iload 8 /* pullRepair */
            putfield org.apache.cassandra.repair.messages.RepairOption.pullRepair:Z
        19: .line 279
            return
        end local 8 // boolean pullRepair
        end local 7 // boolean isSubrangeRepair
        end local 6 // java.util.Collection ranges
        end local 5 // int jobThreads
        end local 4 // boolean trace
        end local 3 // boolean incremental
        end local 2 // boolean primaryRange
        end local 1 // org.apache.cassandra.repair.RepairParallelism parallelism
        end local 0 // org.apache.cassandra.repair.messages.RepairOption this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   20     0              this  Lorg/apache/cassandra/repair/messages/RepairOption;
            0   20     1       parallelism  Lorg/apache/cassandra/repair/RepairParallelism;
            0   20     2      primaryRange  Z
            0   20     3       incremental  Z
            0   20     4             trace  Z
            0   20     5        jobThreads  I
            0   20     6            ranges  Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;
            0   20     7  isSubrangeRepair  Z
            0   20     8        pullRepair  Z
    Signature: (Lorg/apache/cassandra/repair/RepairParallelism;ZZZILjava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;ZZ)V
    MethodParameters:
                  Name  Flags
      parallelism       
      primaryRange      
      incremental       
      trace             
      jobThreads        
      ranges            
      isSubrangeRepair  
      pullRepair        

  public org.apache.cassandra.repair.RepairParallelism getParallelism();
    descriptor: ()Lorg/apache/cassandra/repair/RepairParallelism;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.repair.messages.RepairOption this
         0: .line 283
            aload 0 /* this */
            getfield org.apache.cassandra.repair.messages.RepairOption.parallelism:Lorg/apache/cassandra/repair/RepairParallelism;
            areturn
        end local 0 // org.apache.cassandra.repair.messages.RepairOption this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/repair/messages/RepairOption;

  public boolean isPrimaryRange();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.repair.messages.RepairOption this
         0: .line 288
            aload 0 /* this */
            getfield org.apache.cassandra.repair.messages.RepairOption.primaryRange:Z
            ireturn
        end local 0 // org.apache.cassandra.repair.messages.RepairOption this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/repair/messages/RepairOption;

  public boolean isIncremental();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.repair.messages.RepairOption this
         0: .line 293
            aload 0 /* this */
            getfield org.apache.cassandra.repair.messages.RepairOption.incremental:Z
            ireturn
        end local 0 // org.apache.cassandra.repair.messages.RepairOption this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/repair/messages/RepairOption;

  public boolean isTraced();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.repair.messages.RepairOption this
         0: .line 298
            aload 0 /* this */
            getfield org.apache.cassandra.repair.messages.RepairOption.trace:Z
            ireturn
        end local 0 // org.apache.cassandra.repair.messages.RepairOption this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/repair/messages/RepairOption;

  public boolean isPullRepair();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.repair.messages.RepairOption this
         0: .line 303
            aload 0 /* this */
            getfield org.apache.cassandra.repair.messages.RepairOption.pullRepair:Z
            ireturn
        end local 0 // org.apache.cassandra.repair.messages.RepairOption this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/repair/messages/RepairOption;

  public int getJobThreads();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.repair.messages.RepairOption this
         0: .line 308
            aload 0 /* this */
            getfield org.apache.cassandra.repair.messages.RepairOption.jobThreads:I
            ireturn
        end local 0 // org.apache.cassandra.repair.messages.RepairOption this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/repair/messages/RepairOption;

  public java.util.Collection<java.lang.String> getColumnFamilies();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.repair.messages.RepairOption this
         0: .line 313
            aload 0 /* this */
            getfield org.apache.cassandra.repair.messages.RepairOption.columnFamilies:Ljava/util/Collection;
            areturn
        end local 0 // org.apache.cassandra.repair.messages.RepairOption this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/repair/messages/RepairOption;
    Signature: ()Ljava/util/Collection<Ljava/lang/String;>;

  public java.util.Collection<org.apache.cassandra.dht.Range<org.apache.cassandra.dht.Token>> getRanges();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.repair.messages.RepairOption this
         0: .line 318
            aload 0 /* this */
            getfield org.apache.cassandra.repair.messages.RepairOption.ranges:Ljava/util/Collection;
            areturn
        end local 0 // org.apache.cassandra.repair.messages.RepairOption this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/repair/messages/RepairOption;
    Signature: ()Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;

  public java.util.Collection<java.lang.String> getDataCenters();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.repair.messages.RepairOption this
         0: .line 323
            aload 0 /* this */
            getfield org.apache.cassandra.repair.messages.RepairOption.dataCenters:Ljava/util/Collection;
            areturn
        end local 0 // org.apache.cassandra.repair.messages.RepairOption this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/repair/messages/RepairOption;
    Signature: ()Ljava/util/Collection<Ljava/lang/String;>;

  public java.util.Collection<java.lang.String> getHosts();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.repair.messages.RepairOption this
         0: .line 328
            aload 0 /* this */
            getfield org.apache.cassandra.repair.messages.RepairOption.hosts:Ljava/util/Collection;
            areturn
        end local 0 // org.apache.cassandra.repair.messages.RepairOption this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/repair/messages/RepairOption;
    Signature: ()Ljava/util/Collection<Ljava/lang/String;>;

  public boolean isGlobal();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.repair.messages.RepairOption this
         0: .line 333
            aload 0 /* this */
            getfield org.apache.cassandra.repair.messages.RepairOption.dataCenters:Ljava/util/Collection;
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 1
            aload 0 /* this */
            getfield org.apache.cassandra.repair.messages.RepairOption.hosts:Ljava/util/Collection;
            invokeinterface java.util.Collection.isEmpty:()Z
            ifeq 1
            aload 0 /* this */
            invokevirtual org.apache.cassandra.repair.messages.RepairOption.isSubrangeRepair:()Z
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.apache.cassandra.repair.messages.RepairOption this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/repair/messages/RepairOption;

  public boolean isSubrangeRepair();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.repair.messages.RepairOption this
         0: .line 338
            aload 0 /* this */
            getfield org.apache.cassandra.repair.messages.RepairOption.isSubrangeRepair:Z
            ireturn
        end local 0 // org.apache.cassandra.repair.messages.RepairOption this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/repair/messages/RepairOption;

  public boolean isInLocalDCOnly();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.repair.messages.RepairOption this
         0: .line 342
            aload 0 /* this */
            getfield org.apache.cassandra.repair.messages.RepairOption.dataCenters:Ljava/util/Collection;
            invokeinterface java.util.Collection.size:()I
            iconst_1
            if_icmpne 1
            aload 0 /* this */
            getfield org.apache.cassandra.repair.messages.RepairOption.dataCenters:Ljava/util/Collection;
            invokestatic org.apache.cassandra.config.DatabaseDescriptor.getLocalDataCenter:()Ljava/lang/String;
            invokeinterface java.util.Collection.contains:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.apache.cassandra.repair.messages.RepairOption this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/cassandra/repair/messages/RepairOption;

  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.repair.messages.RepairOption this
         0: .line 348
            new java.lang.StringBuilder
            dup
            ldc "repair options (parallelism: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 349
            aload 0 /* this */
            getfield org.apache.cassandra.repair.messages.RepairOption.parallelism:Lorg/apache/cassandra/repair/RepairParallelism;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         2: .line 350
            ldc ", primary range: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.cassandra.repair.messages.RepairOption.primaryRange:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
         3: .line 351
            ldc ", incremental: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.cassandra.repair.messages.RepairOption.incremental:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
         4: .line 352
            ldc ", job threads: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.cassandra.repair.messages.RepairOption.jobThreads:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         5: .line 353
            ldc ", ColumnFamilies: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.cassandra.repair.messages.RepairOption.columnFamilies:Ljava/util/Collection;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         6: .line 354
            ldc ", dataCenters: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.cassandra.repair.messages.RepairOption.dataCenters:Ljava/util/Collection;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         7: .line 355
            ldc ", hosts: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.cassandra.repair.messages.RepairOption.hosts:Ljava/util/Collection;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
         8: .line 356
            ldc ", # of ranges: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.cassandra.repair.messages.RepairOption.ranges:Ljava/util/Collection;
            invokeinterface java.util.Collection.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         9: .line 357
            ldc ", pull repair: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.apache.cassandra.repair.messages.RepairOption.pullRepair:Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
        10: .line 358
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
        11: .line 348
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.apache.cassandra.repair.messages.RepairOption this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lorg/apache/cassandra/repair/messages/RepairOption;

  public java.util.Map<java.lang.String, java.lang.String> asMap();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.apache.cassandra.repair.messages.RepairOption this
         0: .line 363
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 1 /* options */
        start local 1 // java.util.Map options
         1: .line 364
            aload 1 /* options */
            ldc "parallelism"
            aload 0 /* this */
            getfield org.apache.cassandra.repair.messages.RepairOption.parallelism:Lorg/apache/cassandra/repair/RepairParallelism;
            invokevirtual org.apache.cassandra.repair.RepairParallelism.toString:()Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 365
            aload 1 /* options */
            ldc "primaryRange"
            aload 0 /* this */
            getfield org.apache.cassandra.repair.messages.RepairOption.primaryRange:Z
            invokestatic java.lang.Boolean.toString:(Z)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 366
            aload 1 /* options */
            ldc "incremental"
            aload 0 /* this */
            getfield org.apache.cassandra.repair.messages.RepairOption.incremental:Z
            invokestatic java.lang.Boolean.toString:(Z)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 367
            aload 1 /* options */
            ldc "jobThreads"
            aload 0 /* this */
            getfield org.apache.cassandra.repair.messages.RepairOption.jobThreads:I
            invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 368
            aload 1 /* options */
            ldc "columnFamilies"
            ldc ","
            invokestatic com.google.common.base.Joiner.on:(Ljava/lang/String;)Lcom/google/common/base/Joiner;
            aload 0 /* this */
            getfield org.apache.cassandra.repair.messages.RepairOption.columnFamilies:Ljava/util/Collection;
            invokevirtual com.google.common.base.Joiner.join:(Ljava/lang/Iterable;)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 369
            aload 1 /* options */
            ldc "dataCenters"
            ldc ","
            invokestatic com.google.common.base.Joiner.on:(Ljava/lang/String;)Lcom/google/common/base/Joiner;
            aload 0 /* this */
            getfield org.apache.cassandra.repair.messages.RepairOption.dataCenters:Ljava/util/Collection;
            invokevirtual com.google.common.base.Joiner.join:(Ljava/lang/Iterable;)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 370
            aload 1 /* options */
            ldc "hosts"
            ldc ","
            invokestatic com.google.common.base.Joiner.on:(Ljava/lang/String;)Lcom/google/common/base/Joiner;
            aload 0 /* this */
            getfield org.apache.cassandra.repair.messages.RepairOption.hosts:Ljava/util/Collection;
            invokevirtual com.google.common.base.Joiner.join:(Ljava/lang/Iterable;)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 371
            aload 1 /* options */
            ldc "sub_range_repair"
            aload 0 /* this */
            getfield org.apache.cassandra.repair.messages.RepairOption.isSubrangeRepair:Z
            invokestatic java.lang.Boolean.toString:(Z)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 372
            aload 1 /* options */
            ldc "trace"
            aload 0 /* this */
            getfield org.apache.cassandra.repair.messages.RepairOption.trace:Z
            invokestatic java.lang.Boolean.toString:(Z)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 373
            aload 1 /* options */
            ldc "ranges"
            ldc ","
            invokestatic com.google.common.base.Joiner.on:(Ljava/lang/String;)Lcom/google/common/base/Joiner;
            aload 0 /* this */
            getfield org.apache.cassandra.repair.messages.RepairOption.ranges:Ljava/util/Collection;
            invokevirtual com.google.common.base.Joiner.join:(Ljava/lang/Iterable;)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 374
            aload 1 /* options */
            ldc "pullRepair"
            aload 0 /* this */
            getfield org.apache.cassandra.repair.messages.RepairOption.pullRepair:Z
            invokestatic java.lang.Boolean.toString:(Z)Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 375
            aload 1 /* options */
            areturn
        end local 1 // java.util.Map options
        end local 0 // org.apache.cassandra.repair.messages.RepairOption this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lorg/apache/cassandra/repair/messages/RepairOption;
            1   13     1  options  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
}
SourceFile: "RepairOption.java"
InnerClasses:
  public final DiskAccessMode = org.apache.cassandra.config.Config$DiskAccessMode of org.apache.cassandra.config.Config
  public abstract TokenFactory = org.apache.cassandra.dht.Token$TokenFactory of org.apache.cassandra.dht.Token