public class org.apache.cassandra.streaming.StreamPlan
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.streaming.StreamPlan
  super_class: java.lang.Object
{
  public static final java.lang.String[] EMPTY_COLUMN_FAMILIES;
    descriptor: [Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private final java.util.UUID planId;
    descriptor: Ljava/util/UUID;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String description;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.List<org.apache.cassandra.streaming.StreamEventHandler> handlers;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/apache/cassandra/streaming/StreamEventHandler;>;

  private final long repairedAt;
    descriptor: J
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.apache.cassandra.streaming.StreamCoordinator coordinator;
    descriptor: Lorg/apache/cassandra/streaming/StreamCoordinator;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private boolean flushBeforeTransfer;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 35
            iconst_0
            anewarray java.lang.String
            putstatic org.apache.cassandra.streaming.StreamPlan.EMPTY_COLUMN_FAMILIES:[Ljava/lang/String;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=2, args_size=2
        start local 0 // org.apache.cassandra.streaming.StreamPlan this
        start local 1 // java.lang.String description
         0: .line 51
            aload 0 /* this */
            aload 1 /* description */
            lconst_0
            iconst_1
            iconst_0
            iconst_0
            iconst_0
            invokespecial org.apache.cassandra.streaming.StreamPlan.<init>:(Ljava/lang/String;JIZZZ)V
         1: .line 52
            return
        end local 1 // java.lang.String description
        end local 0 // org.apache.cassandra.streaming.StreamPlan this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/apache/cassandra/streaming/StreamPlan;
            0    2     1  description  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      description  

  public void <init>(java.lang.String, boolean, boolean);
    descriptor: (Ljava/lang/String;ZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=4, args_size=4
        start local 0 // org.apache.cassandra.streaming.StreamPlan this
        start local 1 // java.lang.String description
        start local 2 // boolean keepSSTableLevels
        start local 3 // boolean connectSequentially
         0: .line 56
            aload 0 /* this */
            aload 1 /* description */
            lconst_0
            iconst_1
            iload 2 /* keepSSTableLevels */
            iconst_0
            iload 3 /* connectSequentially */
            invokespecial org.apache.cassandra.streaming.StreamPlan.<init>:(Ljava/lang/String;JIZZZ)V
         1: .line 57
            return
        end local 3 // boolean connectSequentially
        end local 2 // boolean keepSSTableLevels
        end local 1 // java.lang.String description
        end local 0 // org.apache.cassandra.streaming.StreamPlan this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0                 this  Lorg/apache/cassandra/streaming/StreamPlan;
            0    2     1          description  Ljava/lang/String;
            0    2     2    keepSSTableLevels  Z
            0    2     3  connectSequentially  Z
    MethodParameters:
                     Name  Flags
      description          
      keepSSTableLevels    
      connectSequentially  

  public void <init>(java.lang.String, long, int, boolean, boolean, boolean);
    descriptor: (Ljava/lang/String;JIZZZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=8, args_size=7
        start local 0 // org.apache.cassandra.streaming.StreamPlan this
        start local 1 // java.lang.String description
        start local 2 // long repairedAt
        start local 4 // int connectionsPerHost
        start local 5 // boolean keepSSTableLevels
        start local 6 // boolean isIncremental
        start local 7 // boolean connectSequentially
         0: .line 59
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 36
            aload 0 /* this */
            invokestatic org.apache.cassandra.utils.UUIDGen.getTimeUUID:()Ljava/util/UUID;
            putfield org.apache.cassandra.streaming.StreamPlan.planId:Ljava/util/UUID;
         2: .line 38
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.apache.cassandra.streaming.StreamPlan.handlers:Ljava/util/List;
         3: .line 42
            aload 0 /* this */
            iconst_1
            putfield org.apache.cassandra.streaming.StreamPlan.flushBeforeTransfer:Z
         4: .line 62
            aload 0 /* this */
            aload 1 /* description */
            putfield org.apache.cassandra.streaming.StreamPlan.description:Ljava/lang/String;
         5: .line 63
            aload 0 /* this */
            lload 2 /* repairedAt */
            putfield org.apache.cassandra.streaming.StreamPlan.repairedAt:J
         6: .line 64
            aload 0 /* this */
            new org.apache.cassandra.streaming.StreamCoordinator
            dup
            iload 4 /* connectionsPerHost */
            iload 5 /* keepSSTableLevels */
            iload 6 /* isIncremental */
            new org.apache.cassandra.streaming.DefaultConnectionFactory
            dup
            invokespecial org.apache.cassandra.streaming.DefaultConnectionFactory.<init>:()V
         7: .line 65
            iload 7 /* connectSequentially */
            invokespecial org.apache.cassandra.streaming.StreamCoordinator.<init>:(IZZLorg/apache/cassandra/streaming/StreamConnectionFactory;Z)V
         8: .line 64
            putfield org.apache.cassandra.streaming.StreamPlan.coordinator:Lorg/apache/cassandra/streaming/StreamCoordinator;
         9: .line 66
            return
        end local 7 // boolean connectSequentially
        end local 6 // boolean isIncremental
        end local 5 // boolean keepSSTableLevels
        end local 4 // int connectionsPerHost
        end local 2 // long repairedAt
        end local 1 // java.lang.String description
        end local 0 // org.apache.cassandra.streaming.StreamPlan this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   10     0                 this  Lorg/apache/cassandra/streaming/StreamPlan;
            0   10     1          description  Ljava/lang/String;
            0   10     2           repairedAt  J
            0   10     4   connectionsPerHost  I
            0   10     5    keepSSTableLevels  Z
            0   10     6        isIncremental  Z
            0   10     7  connectSequentially  Z
    MethodParameters:
                     Name  Flags
      description          
      repairedAt           
      connectionsPerHost   
      keepSSTableLevels    
      isIncremental        
      connectSequentially  

  public org.apache.cassandra.streaming.StreamPlan requestRanges(java.net.InetAddress, java.net.InetAddress, java.lang.String, java.util.Collection<org.apache.cassandra.dht.Range<org.apache.cassandra.dht.Token>>);
    descriptor: (Ljava/net/InetAddress;Ljava/net/InetAddress;Ljava/lang/String;Ljava/util/Collection;)Lorg/apache/cassandra/streaming/StreamPlan;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.apache.cassandra.streaming.StreamPlan this
        start local 1 // java.net.InetAddress from
        start local 2 // java.net.InetAddress connecting
        start local 3 // java.lang.String keyspace
        start local 4 // java.util.Collection ranges
         0: .line 79
            aload 0 /* this */
            aload 1 /* from */
            aload 2 /* connecting */
            aload 3 /* keyspace */
            aload 4 /* ranges */
            getstatic org.apache.cassandra.streaming.StreamPlan.EMPTY_COLUMN_FAMILIES:[Ljava/lang/String;
            invokevirtual org.apache.cassandra.streaming.StreamPlan.requestRanges:(Ljava/net/InetAddress;Ljava/net/InetAddress;Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/String;)Lorg/apache/cassandra/streaming/StreamPlan;
            areturn
        end local 4 // java.util.Collection ranges
        end local 3 // java.lang.String keyspace
        end local 2 // java.net.InetAddress connecting
        end local 1 // java.net.InetAddress from
        end local 0 // org.apache.cassandra.streaming.StreamPlan this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/apache/cassandra/streaming/StreamPlan;
            0    1     1        from  Ljava/net/InetAddress;
            0    1     2  connecting  Ljava/net/InetAddress;
            0    1     3    keyspace  Ljava/lang/String;
            0    1     4      ranges  Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;
    Signature: (Ljava/net/InetAddress;Ljava/net/InetAddress;Ljava/lang/String;Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;)Lorg/apache/cassandra/streaming/StreamPlan;
    MethodParameters:
            Name  Flags
      from        
      connecting  
      keyspace    
      ranges      

  public org.apache.cassandra.streaming.StreamPlan requestRanges(java.net.InetAddress, java.net.InetAddress, java.lang.String, java.util.Collection<org.apache.cassandra.dht.Range<org.apache.cassandra.dht.Token>>, java.lang.String[]);
    descriptor: (Ljava/net/InetAddress;Ljava/net/InetAddress;Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/String;)Lorg/apache/cassandra/streaming/StreamPlan;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=6, locals=7, args_size=6
        start local 0 // org.apache.cassandra.streaming.StreamPlan this
        start local 1 // java.net.InetAddress from
        start local 2 // java.net.InetAddress connecting
        start local 3 // java.lang.String keyspace
        start local 4 // java.util.Collection ranges
        start local 5 // java.lang.String[] columnFamilies
         0: .line 94
            aload 0 /* this */
            getfield org.apache.cassandra.streaming.StreamPlan.coordinator:Lorg/apache/cassandra/streaming/StreamCoordinator;
            aload 1 /* from */
            aload 2 /* connecting */
            invokevirtual org.apache.cassandra.streaming.StreamCoordinator.getOrCreateNextSession:(Ljava/net/InetAddress;Ljava/net/InetAddress;)Lorg/apache/cassandra/streaming/StreamSession;
            astore 6 /* session */
        start local 6 // org.apache.cassandra.streaming.StreamSession session
         1: .line 95
            aload 6 /* session */
            aload 3 /* keyspace */
            aload 4 /* ranges */
            aload 5 /* columnFamilies */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aload 0 /* this */
            getfield org.apache.cassandra.streaming.StreamPlan.repairedAt:J
            invokevirtual org.apache.cassandra.streaming.StreamSession.addStreamRequest:(Ljava/lang/String;Ljava/util/Collection;Ljava/util/Collection;J)V
         2: .line 96
            aload 0 /* this */
            areturn
        end local 6 // org.apache.cassandra.streaming.StreamSession session
        end local 5 // java.lang.String[] columnFamilies
        end local 4 // java.util.Collection ranges
        end local 3 // java.lang.String keyspace
        end local 2 // java.net.InetAddress connecting
        end local 1 // java.net.InetAddress from
        end local 0 // org.apache.cassandra.streaming.StreamPlan this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lorg/apache/cassandra/streaming/StreamPlan;
            0    3     1            from  Ljava/net/InetAddress;
            0    3     2      connecting  Ljava/net/InetAddress;
            0    3     3        keyspace  Ljava/lang/String;
            0    3     4          ranges  Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;
            0    3     5  columnFamilies  [Ljava/lang/String;
            1    3     6         session  Lorg/apache/cassandra/streaming/StreamSession;
    Signature: (Ljava/net/InetAddress;Ljava/net/InetAddress;Ljava/lang/String;Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;[Ljava/lang/String;)Lorg/apache/cassandra/streaming/StreamPlan;
    MethodParameters:
                Name  Flags
      from            
      connecting      
      keyspace        
      ranges          
      columnFamilies  

  public org.apache.cassandra.streaming.StreamPlan transferRanges(java.net.InetAddress, java.lang.String, java.util.Collection<org.apache.cassandra.dht.Range<org.apache.cassandra.dht.Token>>, java.lang.String[]);
    descriptor: (Ljava/net/InetAddress;Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/String;)Lorg/apache/cassandra/streaming/StreamPlan;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.apache.cassandra.streaming.StreamPlan this
        start local 1 // java.net.InetAddress to
        start local 2 // java.lang.String keyspace
        start local 3 // java.util.Collection ranges
        start local 4 // java.lang.String[] columnFamilies
         0: .line 106
            aload 0 /* this */
            aload 1 /* to */
            aload 1 /* to */
            aload 2 /* keyspace */
            aload 3 /* ranges */
            aload 4 /* columnFamilies */
            invokevirtual org.apache.cassandra.streaming.StreamPlan.transferRanges:(Ljava/net/InetAddress;Ljava/net/InetAddress;Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/String;)Lorg/apache/cassandra/streaming/StreamPlan;
            areturn
        end local 4 // java.lang.String[] columnFamilies
        end local 3 // java.util.Collection ranges
        end local 2 // java.lang.String keyspace
        end local 1 // java.net.InetAddress to
        end local 0 // org.apache.cassandra.streaming.StreamPlan this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lorg/apache/cassandra/streaming/StreamPlan;
            0    1     1              to  Ljava/net/InetAddress;
            0    1     2        keyspace  Ljava/lang/String;
            0    1     3          ranges  Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;
            0    1     4  columnFamilies  [Ljava/lang/String;
    Signature: (Ljava/net/InetAddress;Ljava/lang/String;Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;[Ljava/lang/String;)Lorg/apache/cassandra/streaming/StreamPlan;
    MethodParameters:
                Name  Flags
      to              
      keyspace        
      ranges          
      columnFamilies  

  public org.apache.cassandra.streaming.StreamPlan transferRanges(java.net.InetAddress, java.net.InetAddress, java.lang.String, java.util.Collection<org.apache.cassandra.dht.Range<org.apache.cassandra.dht.Token>>);
    descriptor: (Ljava/net/InetAddress;Ljava/net/InetAddress;Ljava/lang/String;Ljava/util/Collection;)Lorg/apache/cassandra/streaming/StreamPlan;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // org.apache.cassandra.streaming.StreamPlan this
        start local 1 // java.net.InetAddress to
        start local 2 // java.net.InetAddress connecting
        start local 3 // java.lang.String keyspace
        start local 4 // java.util.Collection ranges
         0: .line 120
            aload 0 /* this */
            aload 1 /* to */
            aload 2 /* connecting */
            aload 3 /* keyspace */
            aload 4 /* ranges */
            getstatic org.apache.cassandra.streaming.StreamPlan.EMPTY_COLUMN_FAMILIES:[Ljava/lang/String;
            invokevirtual org.apache.cassandra.streaming.StreamPlan.transferRanges:(Ljava/net/InetAddress;Ljava/net/InetAddress;Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/String;)Lorg/apache/cassandra/streaming/StreamPlan;
            areturn
        end local 4 // java.util.Collection ranges
        end local 3 // java.lang.String keyspace
        end local 2 // java.net.InetAddress connecting
        end local 1 // java.net.InetAddress to
        end local 0 // org.apache.cassandra.streaming.StreamPlan this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lorg/apache/cassandra/streaming/StreamPlan;
            0    1     1          to  Ljava/net/InetAddress;
            0    1     2  connecting  Ljava/net/InetAddress;
            0    1     3    keyspace  Ljava/lang/String;
            0    1     4      ranges  Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;
    Signature: (Ljava/net/InetAddress;Ljava/net/InetAddress;Ljava/lang/String;Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;)Lorg/apache/cassandra/streaming/StreamPlan;
    MethodParameters:
            Name  Flags
      to          
      connecting  
      keyspace    
      ranges      

  public org.apache.cassandra.streaming.StreamPlan transferRanges(java.net.InetAddress, java.net.InetAddress, java.lang.String, java.util.Collection<org.apache.cassandra.dht.Range<org.apache.cassandra.dht.Token>>, java.lang.String[]);
    descriptor: (Ljava/net/InetAddress;Ljava/net/InetAddress;Ljava/lang/String;Ljava/util/Collection;[Ljava/lang/String;)Lorg/apache/cassandra/streaming/StreamPlan;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=7, locals=7, args_size=6
        start local 0 // org.apache.cassandra.streaming.StreamPlan this
        start local 1 // java.net.InetAddress to
        start local 2 // java.net.InetAddress connecting
        start local 3 // java.lang.String keyspace
        start local 4 // java.util.Collection ranges
        start local 5 // java.lang.String[] columnFamilies
         0: .line 135
            aload 0 /* this */
            getfield org.apache.cassandra.streaming.StreamPlan.coordinator:Lorg/apache/cassandra/streaming/StreamCoordinator;
            aload 1 /* to */
            aload 2 /* connecting */
            invokevirtual org.apache.cassandra.streaming.StreamCoordinator.getOrCreateNextSession:(Ljava/net/InetAddress;Ljava/net/InetAddress;)Lorg/apache/cassandra/streaming/StreamSession;
            astore 6 /* session */
        start local 6 // org.apache.cassandra.streaming.StreamSession session
         1: .line 136
            aload 6 /* session */
            aload 3 /* keyspace */
            aload 4 /* ranges */
            aload 5 /* columnFamilies */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            aload 0 /* this */
            getfield org.apache.cassandra.streaming.StreamPlan.flushBeforeTransfer:Z
            aload 0 /* this */
            getfield org.apache.cassandra.streaming.StreamPlan.repairedAt:J
            invokevirtual org.apache.cassandra.streaming.StreamSession.addTransferRanges:(Ljava/lang/String;Ljava/util/Collection;Ljava/util/Collection;ZJ)V
         2: .line 137
            aload 0 /* this */
            areturn
        end local 6 // org.apache.cassandra.streaming.StreamSession session
        end local 5 // java.lang.String[] columnFamilies
        end local 4 // java.util.Collection ranges
        end local 3 // java.lang.String keyspace
        end local 2 // java.net.InetAddress connecting
        end local 1 // java.net.InetAddress to
        end local 0 // org.apache.cassandra.streaming.StreamPlan this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lorg/apache/cassandra/streaming/StreamPlan;
            0    3     1              to  Ljava/net/InetAddress;
            0    3     2      connecting  Ljava/net/InetAddress;
            0    3     3        keyspace  Ljava/lang/String;
            0    3     4          ranges  Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;
            0    3     5  columnFamilies  [Ljava/lang/String;
            1    3     6         session  Lorg/apache/cassandra/streaming/StreamSession;
    Signature: (Ljava/net/InetAddress;Ljava/net/InetAddress;Ljava/lang/String;Ljava/util/Collection<Lorg/apache/cassandra/dht/Range<Lorg/apache/cassandra/dht/Token;>;>;[Ljava/lang/String;)Lorg/apache/cassandra/streaming/StreamPlan;
    MethodParameters:
                Name  Flags
      to              
      connecting      
      keyspace        
      ranges          
      columnFamilies  

  public org.apache.cassandra.streaming.StreamPlan transferFiles(java.net.InetAddress, java.util.Collection<org.apache.cassandra.streaming.StreamSession$SSTableStreamingSections>);
    descriptor: (Ljava/net/InetAddress;Ljava/util/Collection;)Lorg/apache/cassandra/streaming/StreamPlan;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.apache.cassandra.streaming.StreamPlan this
        start local 1 // java.net.InetAddress to
        start local 2 // java.util.Collection sstableDetails
         0: .line 150
            aload 0 /* this */
            getfield org.apache.cassandra.streaming.StreamPlan.coordinator:Lorg/apache/cassandra/streaming/StreamCoordinator;
            aload 1 /* to */
            aload 2 /* sstableDetails */
            invokevirtual org.apache.cassandra.streaming.StreamCoordinator.transferFiles:(Ljava/net/InetAddress;Ljava/util/Collection;)V
         1: .line 151
            aload 0 /* this */
            areturn
        end local 2 // java.util.Collection sstableDetails
        end local 1 // java.net.InetAddress to
        end local 0 // org.apache.cassandra.streaming.StreamPlan this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lorg/apache/cassandra/streaming/StreamPlan;
            0    2     1              to  Ljava/net/InetAddress;
            0    2     2  sstableDetails  Ljava/util/Collection<Lorg/apache/cassandra/streaming/StreamSession$SSTableStreamingSections;>;
    Signature: (Ljava/net/InetAddress;Ljava/util/Collection<Lorg/apache/cassandra/streaming/StreamSession$SSTableStreamingSections;>;)Lorg/apache/cassandra/streaming/StreamPlan;
    MethodParameters:
                Name  Flags
      to              
      sstableDetails  

  public org.apache.cassandra.streaming.StreamPlan listeners(org.apache.cassandra.streaming.StreamEventHandler, org.apache.cassandra.streaming.StreamEventHandler[]);
    descriptor: (Lorg/apache/cassandra/streaming/StreamEventHandler;[Lorg/apache/cassandra/streaming/StreamEventHandler;)Lorg/apache/cassandra/streaming/StreamPlan;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.apache.cassandra.streaming.StreamPlan this
        start local 1 // org.apache.cassandra.streaming.StreamEventHandler handler
        start local 2 // org.apache.cassandra.streaming.StreamEventHandler[] handlers
         0: .line 157
            aload 0 /* this */
            getfield org.apache.cassandra.streaming.StreamPlan.handlers:Ljava/util/List;
            aload 1 /* handler */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 158
            aload 2 /* handlers */
            ifnull 3
         2: .line 159
            aload 0 /* this */
            getfield org.apache.cassandra.streaming.StreamPlan.handlers:Ljava/util/List;
            aload 2 /* handlers */
            invokestatic java.util.Collections.addAll:(Ljava/util/Collection;[Ljava/lang/Object;)Z
            pop
         3: .line 160
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 2 // org.apache.cassandra.streaming.StreamEventHandler[] handlers
        end local 1 // org.apache.cassandra.streaming.StreamEventHandler handler
        end local 0 // org.apache.cassandra.streaming.StreamPlan this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lorg/apache/cassandra/streaming/StreamPlan;
            0    4     1   handler  Lorg/apache/cassandra/streaming/StreamEventHandler;
            0    4     2  handlers  [Lorg/apache/cassandra/streaming/StreamEventHandler;
    MethodParameters:
          Name  Flags
      handler   
      handlers  

  public org.apache.cassandra.streaming.StreamPlan connectionFactory(org.apache.cassandra.streaming.StreamConnectionFactory);
    descriptor: (Lorg/apache/cassandra/streaming/StreamConnectionFactory;)Lorg/apache/cassandra/streaming/StreamPlan;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.streaming.StreamPlan this
        start local 1 // org.apache.cassandra.streaming.StreamConnectionFactory factory
         0: .line 171
            aload 0 /* this */
            getfield org.apache.cassandra.streaming.StreamPlan.coordinator:Lorg/apache/cassandra/streaming/StreamCoordinator;
            aload 1 /* factory */
            invokevirtual org.apache.cassandra.streaming.StreamCoordinator.setConnectionFactory:(Lorg/apache/cassandra/streaming/StreamConnectionFactory;)V
         1: .line 172
            aload 0 /* this */
            areturn
        end local 1 // org.apache.cassandra.streaming.StreamConnectionFactory factory
        end local 0 // org.apache.cassandra.streaming.StreamPlan this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/apache/cassandra/streaming/StreamPlan;
            0    2     1  factory  Lorg/apache/cassandra/streaming/StreamConnectionFactory;
    MethodParameters:
         Name  Flags
      factory  

  public boolean isEmpty();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.cassandra.streaming.StreamPlan this
         0: .line 180
            aload 0 /* this */
            getfield org.apache.cassandra.streaming.StreamPlan.coordinator:Lorg/apache/cassandra/streaming/StreamCoordinator;
            invokevirtual org.apache.cassandra.streaming.StreamCoordinator.hasActiveSessions:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // org.apache.cassandra.streaming.StreamPlan this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/cassandra/streaming/StreamPlan;

  public org.apache.cassandra.streaming.StreamResultFuture execute();
    descriptor: ()Lorg/apache/cassandra/streaming/StreamResultFuture;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.apache.cassandra.streaming.StreamPlan this
         0: .line 190
            aload 0 /* this */
            getfield org.apache.cassandra.streaming.StreamPlan.planId:Ljava/util/UUID;
            aload 0 /* this */
            getfield org.apache.cassandra.streaming.StreamPlan.description:Ljava/lang/String;
            aload 0 /* this */
            getfield org.apache.cassandra.streaming.StreamPlan.handlers:Ljava/util/List;
            aload 0 /* this */
            getfield org.apache.cassandra.streaming.StreamPlan.coordinator:Lorg/apache/cassandra/streaming/StreamCoordinator;
            invokestatic org.apache.cassandra.streaming.StreamResultFuture.init:(Ljava/util/UUID;Ljava/lang/String;Ljava/util/Collection;Lorg/apache/cassandra/streaming/StreamCoordinator;)Lorg/apache/cassandra/streaming/StreamResultFuture;
            areturn
        end local 0 // org.apache.cassandra.streaming.StreamPlan this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/apache/cassandra/streaming/StreamPlan;

  public org.apache.cassandra.streaming.StreamPlan flushBeforeTransfer(boolean);
    descriptor: (Z)Lorg/apache/cassandra/streaming/StreamPlan;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.streaming.StreamPlan this
        start local 1 // boolean flushBeforeTransfer
         0: .line 202
            aload 0 /* this */
            iload 1 /* flushBeforeTransfer */
            putfield org.apache.cassandra.streaming.StreamPlan.flushBeforeTransfer:Z
         1: .line 203
            aload 0 /* this */
            areturn
        end local 1 // boolean flushBeforeTransfer
        end local 0 // org.apache.cassandra.streaming.StreamPlan this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0                 this  Lorg/apache/cassandra/streaming/StreamPlan;
            0    2     1  flushBeforeTransfer  Z
    MethodParameters:
                     Name  Flags
      flushBeforeTransfer  
}
SourceFile: "StreamPlan.java"
InnerClasses:
  public SSTableStreamingSections = org.apache.cassandra.streaming.StreamSession$SSTableStreamingSections of org.apache.cassandra.streaming.StreamSession