public class org.apache.cassandra.service.MigrationManager
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.apache.cassandra.service.MigrationManager
  super_class: java.lang.Object
{
  private static final org.slf4j.Logger logger;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final org.apache.cassandra.service.MigrationManager instance;
    descriptor: Lorg/apache/cassandra/service/MigrationManager;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private static final java.lang.management.RuntimeMXBean runtimeMXBean;
    descriptor: Ljava/lang/management/RuntimeMXBean;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  private static final int MIGRATION_TASK_WAIT_IN_SECONDS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 54
            ldc Lorg/apache/cassandra/service/MigrationManager;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
            putstatic org.apache.cassandra.service.MigrationManager.logger:Lorg/slf4j/Logger;
         1: .line 56
            new org.apache.cassandra.service.MigrationManager
            dup
            invokespecial org.apache.cassandra.service.MigrationManager.<init>:()V
            putstatic org.apache.cassandra.service.MigrationManager.instance:Lorg/apache/cassandra/service/MigrationManager;
         2: .line 58
            invokestatic java.lang.management.ManagementFactory.getRuntimeMXBean:()Ljava/lang/management/RuntimeMXBean;
            putstatic org.apache.cassandra.service.MigrationManager.runtimeMXBean:Ljava/lang/management/RuntimeMXBean;
         3: .line 62
            ldc "cassandra.migration_task_wait_in_seconds"
            ldc "1"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            putstatic org.apache.cassandra.service.MigrationManager.MIGRATION_TASK_WAIT_IN_SECONDS:I
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.apache.cassandra.service.MigrationManager this
         0: .line 66
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 64
            aload 0 /* this */
            new java.util.concurrent.CopyOnWriteArrayList
            dup
            invokespecial java.util.concurrent.CopyOnWriteArrayList.<init>:()V
            putfield org.apache.cassandra.service.MigrationManager.listeners:Ljava/util/List;
         2: .line 66
            return
        end local 0 // org.apache.cassandra.service.MigrationManager this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/apache/cassandra/service/MigrationManager;

  public void register(org.apache.cassandra.service.MigrationListener);
    descriptor: (Lorg/apache/cassandra/service/MigrationListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.service.MigrationManager this
        start local 1 // org.apache.cassandra.service.MigrationListener listener
         0: .line 70
            aload 0 /* this */
            getfield org.apache.cassandra.service.MigrationManager.listeners:Ljava/util/List;
            aload 1 /* listener */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         1: .line 71
            return
        end local 1 // org.apache.cassandra.service.MigrationListener listener
        end local 0 // org.apache.cassandra.service.MigrationManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/cassandra/service/MigrationManager;
            0    2     1  listener  Lorg/apache/cassandra/service/MigrationListener;
    MethodParameters:
          Name  Flags
      listener  

  public void unregister(org.apache.cassandra.service.MigrationListener);
    descriptor: (Lorg/apache/cassandra/service/MigrationListener;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.apache.cassandra.service.MigrationManager this
        start local 1 // org.apache.cassandra.service.MigrationListener listener
         0: .line 75
            aload 0 /* this */
            getfield org.apache.cassandra.service.MigrationManager.listeners:Ljava/util/List;
            aload 1 /* listener */
            invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
            pop
         1: .line 76
            return
        end local 1 // org.apache.cassandra.service.MigrationListener listener
        end local 0 // org.apache.cassandra.service.MigrationManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/apache/cassandra/service/MigrationManager;
            0    2     1  listener  Lorg/apache/cassandra/service/MigrationListener;
    MethodParameters:
          Name  Flags
      listener  

  public static void scheduleSchemaPull(java.net.InetAddress, org.apache.cassandra.gms.EndpointState);
    descriptor: (Ljava/net/InetAddress;Lorg/apache/cassandra/gms/EndpointState;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.net.InetAddress endpoint
        start local 1 // org.apache.cassandra.gms.EndpointState state
         0: .line 80
            aload 1 /* state */
            invokevirtual org.apache.cassandra.gms.EndpointState.getSchemaVersion:()Ljava/util/UUID;
            astore 2 /* schemaVersion */
        start local 2 // java.util.UUID schemaVersion
         1: .line 81
            aload 0 /* endpoint */
            invokestatic org.apache.cassandra.utils.FBUtilities.getBroadcastAddress:()Ljava/net/InetAddress;
            invokevirtual java.net.InetAddress.equals:(Ljava/lang/Object;)Z
            ifne 3
            aload 2 /* schemaVersion */
            ifnull 3
         2: .line 82
            aload 2 /* schemaVersion */
            aload 0 /* endpoint */
            aload 1 /* state */
            getstatic org.apache.cassandra.gms.ApplicationState.RELEASE_VERSION:Lorg/apache/cassandra/gms/ApplicationState;
            invokevirtual org.apache.cassandra.gms.EndpointState.getApplicationState:(Lorg/apache/cassandra/gms/ApplicationState;)Lorg/apache/cassandra/gms/VersionedValue;
            getfield org.apache.cassandra.gms.VersionedValue.value:Ljava/lang/String;
            invokestatic org.apache.cassandra.service.MigrationManager.maybeScheduleSchemaPull:(Ljava/util/UUID;Ljava/net/InetAddress;Ljava/lang/String;)V
         3: .line 83
      StackMap locals: java.util.UUID
      StackMap stack:
            return
        end local 2 // java.util.UUID schemaVersion
        end local 1 // org.apache.cassandra.gms.EndpointState state
        end local 0 // java.net.InetAddress endpoint
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0       endpoint  Ljava/net/InetAddress;
            0    4     1          state  Lorg/apache/cassandra/gms/EndpointState;
            1    4     2  schemaVersion  Ljava/util/UUID;
    MethodParameters:
          Name  Flags
      endpoint  
      state     

  private static void maybeScheduleSchemaPull(java.util.UUID, java.net.InetAddress, java.lang.String);
    descriptor: (Ljava/util/UUID;Ljava/net/InetAddress;Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // java.util.UUID theirVersion
        start local 1 // java.net.InetAddress endpoint
        start local 2 // java.lang.String releaseVersion
         0: .line 91
            invokestatic org.apache.cassandra.utils.FBUtilities.getReleaseVersionMajor:()Ljava/lang/String;
            astore 3 /* ourMajorVersion */
        start local 3 // java.lang.String ourMajorVersion
         1: .line 92
            aload 2 /* releaseVersion */
            aload 3 /* ourMajorVersion */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 4
         2: .line 94
            getstatic org.apache.cassandra.service.MigrationManager.logger:Lorg/slf4j/Logger;
            ldc "Not pulling schema because release version in Gossip is not major version {}, it is {}"
            aload 3 /* ourMajorVersion */
            aload 2 /* releaseVersion */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 95
            return
         4: .line 97
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            invokevirtual org.apache.cassandra.config.Schema.getVersion:()Ljava/util/UUID;
            ifnonnull 9
         5: .line 99
            getstatic org.apache.cassandra.service.MigrationManager.logger:Lorg/slf4j/Logger;
            ldc "Not pulling schema from {}, because local schama version is not known yet"
         6: .line 100
            aload 1 /* endpoint */
         7: .line 99
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
         8: .line 101
            return
         9: .line 103
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            aload 0 /* theirVersion */
            invokevirtual org.apache.cassandra.config.Schema.isSameVersion:(Ljava/util/UUID;)Z
            ifeq 17
        10: .line 105
            getstatic org.apache.cassandra.service.MigrationManager.logger:Lorg/slf4j/Logger;
            ldc "Not pulling schema from {}, because schema versions match: local/real={}, local/compatible={}, remote={}"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
        11: .line 107
            aload 1 /* endpoint */
            aastore
            dup
            iconst_1
        12: .line 108
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            invokevirtual org.apache.cassandra.config.Schema.getRealVersion:()Ljava/util/UUID;
            invokestatic org.apache.cassandra.config.Schema.schemaVersionToString:(Ljava/util/UUID;)Ljava/lang/String;
            aastore
            dup
            iconst_2
        13: .line 109
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            invokevirtual org.apache.cassandra.config.Schema.getAltVersion:()Ljava/util/UUID;
            invokestatic org.apache.cassandra.config.Schema.schemaVersionToString:(Ljava/util/UUID;)Ljava/lang/String;
            aastore
            dup
            iconst_3
        14: .line 110
            aload 0 /* theirVersion */
            invokestatic org.apache.cassandra.config.Schema.schemaVersionToString:(Ljava/util/UUID;)Ljava/lang/String;
            aastore
        15: .line 105
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        16: .line 111
            return
        17: .line 113
      StackMap locals:
      StackMap stack:
            aload 1 /* endpoint */
            invokestatic org.apache.cassandra.service.MigrationManager.shouldPullSchemaFrom:(Ljava/net/InetAddress;)Z
            ifne 20
        18: .line 115
            getstatic org.apache.cassandra.service.MigrationManager.logger:Lorg/slf4j/Logger;
            ldc "Not pulling schema because versions match or shouldPullSchemaFrom returned false"
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;)V
        19: .line 116
            return
        20: .line 119
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            invokevirtual org.apache.cassandra.config.Schema.isEmpty:()Z
            ifne 21
            getstatic org.apache.cassandra.service.MigrationManager.runtimeMXBean:Ljava/lang/management/RuntimeMXBean;
            invokeinterface java.lang.management.RuntimeMXBean.getUptime:()J
            ldc 60000
            lcmp
            ifge 29
        21: .line 122
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.service.MigrationManager.logger:Lorg/slf4j/Logger;
            ldc "Immediately submitting migration task for {}, schema versions: local/real={}, local/compatible={}, remote={}"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
        22: .line 124
            aload 1 /* endpoint */
            aastore
            dup
            iconst_1
        23: .line 125
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            invokevirtual org.apache.cassandra.config.Schema.getRealVersion:()Ljava/util/UUID;
            invokestatic org.apache.cassandra.config.Schema.schemaVersionToString:(Ljava/util/UUID;)Ljava/lang/String;
            aastore
            dup
            iconst_2
        24: .line 126
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            invokevirtual org.apache.cassandra.config.Schema.getAltVersion:()Ljava/util/UUID;
            invokestatic org.apache.cassandra.config.Schema.schemaVersionToString:(Ljava/util/UUID;)Ljava/lang/String;
            aastore
            dup
            iconst_3
        25: .line 127
            aload 0 /* theirVersion */
            invokestatic org.apache.cassandra.config.Schema.schemaVersionToString:(Ljava/util/UUID;)Ljava/lang/String;
            aastore
        26: .line 122
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        27: .line 128
            aload 1 /* endpoint */
            invokestatic org.apache.cassandra.service.MigrationManager.submitMigrationTask:(Ljava/net/InetAddress;)Ljava/util/concurrent/Future;
            pop
        28: .line 129
            goto 31
        29: .line 134
      StackMap locals:
      StackMap stack:
            aload 1 /* endpoint */
            invokedynamic run(Ljava/net/InetAddress;)Ljava/lang/Runnable;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()V
                  org/apache/cassandra/service/MigrationManager.lambda$0(Ljava/net/InetAddress;)V (6)
                  ()V
            astore 4 /* runnable */
        start local 4 // java.lang.Runnable runnable
        30: .line 155
            getstatic org.apache.cassandra.concurrent.ScheduledExecutors.nonPeriodicTasks:Lorg/apache/cassandra/concurrent/DebuggableScheduledThreadPoolExecutor;
            aload 4 /* runnable */
            ldc 60000
            getstatic java.util.concurrent.TimeUnit.MILLISECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual org.apache.cassandra.concurrent.DebuggableScheduledThreadPoolExecutor.schedule:(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
            pop
        end local 4 // java.lang.Runnable runnable
        31: .line 157
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String ourMajorVersion
        end local 2 // java.lang.String releaseVersion
        end local 1 // java.net.InetAddress endpoint
        end local 0 // java.util.UUID theirVersion
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   32     0     theirVersion  Ljava/util/UUID;
            0   32     1         endpoint  Ljava/net/InetAddress;
            0   32     2   releaseVersion  Ljava/lang/String;
            1   32     3  ourMajorVersion  Ljava/lang/String;
           30   31     4         runnable  Ljava/lang/Runnable;
    MethodParameters:
                Name  Flags
      theirVersion    final
      endpoint        final
      releaseVersion  

  private static java.util.concurrent.Future<?> submitMigrationTask(java.net.InetAddress);
    descriptor: (Ljava/net/InetAddress;)Ljava/util/concurrent/Future;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.net.InetAddress endpoint
         0: .line 165
            getstatic org.apache.cassandra.concurrent.Stage.MIGRATION:Lorg/apache/cassandra/concurrent/Stage;
            invokestatic org.apache.cassandra.concurrent.StageManager.getStage:(Lorg/apache/cassandra/concurrent/Stage;)Lorg/apache/cassandra/concurrent/LocalAwareExecutorService;
            new org.apache.cassandra.service.MigrationTask
            dup
            aload 0 /* endpoint */
            invokespecial org.apache.cassandra.service.MigrationTask.<init>:(Ljava/net/InetAddress;)V
            invokeinterface org.apache.cassandra.concurrent.LocalAwareExecutorService.submit:(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
            areturn
        end local 0 // java.net.InetAddress endpoint
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0  endpoint  Ljava/net/InetAddress;
    Signature: (Ljava/net/InetAddress;)Ljava/util/concurrent/Future<*>;
    MethodParameters:
          Name  Flags
      endpoint  

  public static boolean shouldPullSchemaFrom(java.net.InetAddress);
    descriptor: (Ljava/net/InetAddress;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.net.InetAddress endpoint
         0: .line 174
            invokestatic org.apache.cassandra.net.MessagingService.instance:()Lorg/apache/cassandra/net/MessagingService;
            aload 0 /* endpoint */
            invokevirtual org.apache.cassandra.net.MessagingService.knowsVersion:(Ljava/net/InetAddress;)Z
            ifeq 4
         1: .line 175
            invokestatic org.apache.cassandra.net.MessagingService.instance:()Lorg/apache/cassandra/net/MessagingService;
            aload 0 /* endpoint */
            invokevirtual org.apache.cassandra.net.MessagingService.getRawVersion:(Ljava/net/InetAddress;)I
            invokestatic org.apache.cassandra.service.MigrationManager.is30Compatible:(I)Z
            ifeq 4
         2: .line 176
            getstatic org.apache.cassandra.gms.Gossiper.instance:Lorg/apache/cassandra/gms/Gossiper;
            aload 0 /* endpoint */
            invokevirtual org.apache.cassandra.gms.Gossiper.isGossipOnlyMember:(Ljava/net/InetAddress;)Z
            ifne 4
         3: .line 174
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
        end local 0 // java.net.InetAddress endpoint
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0  endpoint  Ljava/net/InetAddress;
    MethodParameters:
          Name  Flags
      endpoint  

  private static boolean is30Compatible(int);
    descriptor: (I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int version
         0: .line 183
            iload 0 /* version */
            getstatic org.apache.cassandra.net.MessagingService.current_version:I
            if_icmpeq 1
            iload 0 /* version */
            bipush 11
            if_icmpeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // int version
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  version  I
    MethodParameters:
         Name  Flags
      version  

  public static boolean isReadyForBootstrap();
    descriptor: ()Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 188
            invokestatic org.apache.cassandra.service.MigrationTask.getInflightTasks:()Ljava/util/concurrent/ConcurrentLinkedQueue;
            invokevirtual java.util.concurrent.ConcurrentLinkedQueue.isEmpty:()Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static void waitUntilReadyForBootstrap();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=0
         0: .line 194
            goto 7
        start local 0 // java.util.concurrent.CountDownLatch completionLatch
         1: .line 198
      StackMap locals: java.util.concurrent.CountDownLatch
      StackMap stack:
            aload 0 /* completionLatch */
            getstatic org.apache.cassandra.service.MigrationManager.MIGRATION_TASK_WAIT_IN_SECONDS:I
            i2l
            getstatic java.util.concurrent.TimeUnit.SECONDS:Ljava/util/concurrent/TimeUnit;
            invokevirtual java.util.concurrent.CountDownLatch.await:(JLjava/util/concurrent/TimeUnit;)Z
            ifne 7
         2: .line 199
            getstatic org.apache.cassandra.service.MigrationManager.logger:Lorg/slf4j/Logger;
            ldc "Migration task failed to complete"
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;)V
         3: .line 200
            goto 7
         4: .line 201
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
            pop
         5: .line 203
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.interrupt:()V
         6: .line 204
            getstatic org.apache.cassandra.service.MigrationManager.logger:Lorg/slf4j/Logger;
            ldc "Migration task was interrupted"
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;)V
        end local 0 // java.util.concurrent.CountDownLatch completionLatch
         7: .line 194
      StackMap locals:
      StackMap stack:
            invokestatic org.apache.cassandra.service.MigrationTask.getInflightTasks:()Ljava/util/concurrent/ConcurrentLinkedQueue;
            invokevirtual java.util.concurrent.ConcurrentLinkedQueue.poll:()Ljava/lang/Object;
            checkcast java.util.concurrent.CountDownLatch
            dup
            astore 0 /* completionLatch */
        start local 0 // java.util.concurrent.CountDownLatch completionLatch
         8: ifnonnull 1
         9: .line 207
            return
        end local 0 // java.util.concurrent.CountDownLatch completionLatch
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            1    7     0  completionLatch  Ljava/util/concurrent/CountDownLatch;
            8   10     0  completionLatch  Ljava/util/concurrent/CountDownLatch;
      Exception table:
        from    to  target  type
           1     3       4  Class java.lang.InterruptedException

  public void notifyCreateKeyspace(org.apache.cassandra.schema.KeyspaceMetadata);
    descriptor: (Lorg/apache/cassandra/schema/KeyspaceMetadata;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.apache.cassandra.service.MigrationManager this
        start local 1 // org.apache.cassandra.schema.KeyspaceMetadata ksm
         0: .line 211
            aload 0 /* this */
            getfield org.apache.cassandra.service.MigrationManager.listeners:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: org.apache.cassandra.service.MigrationManager org.apache.cassandra.schema.KeyspaceMetadata top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.service.MigrationListener
            astore 2 /* listener */
        start local 2 // org.apache.cassandra.service.MigrationListener listener
         2: .line 212
            aload 2 /* listener */
            aload 1 /* ksm */
            getfield org.apache.cassandra.schema.KeyspaceMetadata.name:Ljava/lang/String;
            invokevirtual org.apache.cassandra.service.MigrationListener.onCreateKeyspace:(Ljava/lang/String;)V
        end local 2 // org.apache.cassandra.service.MigrationListener listener
         3: .line 211
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 213
            return
        end local 1 // org.apache.cassandra.schema.KeyspaceMetadata ksm
        end local 0 // org.apache.cassandra.service.MigrationManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/apache/cassandra/service/MigrationManager;
            0    5     1       ksm  Lorg/apache/cassandra/schema/KeyspaceMetadata;
            2    3     2  listener  Lorg/apache/cassandra/service/MigrationListener;
    MethodParameters:
      Name  Flags
      ksm   

  public void notifyCreateColumnFamily(org.apache.cassandra.config.CFMetaData);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.apache.cassandra.service.MigrationManager this
        start local 1 // org.apache.cassandra.config.CFMetaData cfm
         0: .line 217
            aload 0 /* this */
            getfield org.apache.cassandra.service.MigrationManager.listeners:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: org.apache.cassandra.service.MigrationManager org.apache.cassandra.config.CFMetaData top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.service.MigrationListener
            astore 2 /* listener */
        start local 2 // org.apache.cassandra.service.MigrationListener listener
         2: .line 218
            aload 2 /* listener */
            aload 1 /* cfm */
            getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
            aload 1 /* cfm */
            getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
            invokevirtual org.apache.cassandra.service.MigrationListener.onCreateColumnFamily:(Ljava/lang/String;Ljava/lang/String;)V
        end local 2 // org.apache.cassandra.service.MigrationListener listener
         3: .line 217
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 219
            return
        end local 1 // org.apache.cassandra.config.CFMetaData cfm
        end local 0 // org.apache.cassandra.service.MigrationManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/apache/cassandra/service/MigrationManager;
            0    5     1       cfm  Lorg/apache/cassandra/config/CFMetaData;
            2    3     2  listener  Lorg/apache/cassandra/service/MigrationListener;
    MethodParameters:
      Name  Flags
      cfm   

  public void notifyCreateView(org.apache.cassandra.config.ViewDefinition);
    descriptor: (Lorg/apache/cassandra/config/ViewDefinition;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.apache.cassandra.service.MigrationManager this
        start local 1 // org.apache.cassandra.config.ViewDefinition view
         0: .line 223
            aload 0 /* this */
            getfield org.apache.cassandra.service.MigrationManager.listeners:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: org.apache.cassandra.service.MigrationManager org.apache.cassandra.config.ViewDefinition top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.service.MigrationListener
            astore 2 /* listener */
        start local 2 // org.apache.cassandra.service.MigrationListener listener
         2: .line 224
            aload 2 /* listener */
            aload 1 /* view */
            getfield org.apache.cassandra.config.ViewDefinition.ksName:Ljava/lang/String;
            aload 1 /* view */
            getfield org.apache.cassandra.config.ViewDefinition.viewName:Ljava/lang/String;
            invokevirtual org.apache.cassandra.service.MigrationListener.onCreateView:(Ljava/lang/String;Ljava/lang/String;)V
        end local 2 // org.apache.cassandra.service.MigrationListener listener
         3: .line 223
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 225
            return
        end local 1 // org.apache.cassandra.config.ViewDefinition view
        end local 0 // org.apache.cassandra.service.MigrationManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/apache/cassandra/service/MigrationManager;
            0    5     1      view  Lorg/apache/cassandra/config/ViewDefinition;
            2    3     2  listener  Lorg/apache/cassandra/service/MigrationListener;
    MethodParameters:
      Name  Flags
      view  

  public void notifyCreateUserType(org.apache.cassandra.db.marshal.UserType);
    descriptor: (Lorg/apache/cassandra/db/marshal/UserType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.apache.cassandra.service.MigrationManager this
        start local 1 // org.apache.cassandra.db.marshal.UserType ut
         0: .line 229
            aload 0 /* this */
            getfield org.apache.cassandra.service.MigrationManager.listeners:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: org.apache.cassandra.service.MigrationManager org.apache.cassandra.db.marshal.UserType top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.service.MigrationListener
            astore 2 /* listener */
        start local 2 // org.apache.cassandra.service.MigrationListener listener
         2: .line 230
            aload 2 /* listener */
            aload 1 /* ut */
            getfield org.apache.cassandra.db.marshal.UserType.keyspace:Ljava/lang/String;
            aload 1 /* ut */
            invokevirtual org.apache.cassandra.db.marshal.UserType.getNameAsString:()Ljava/lang/String;
            invokevirtual org.apache.cassandra.service.MigrationListener.onCreateUserType:(Ljava/lang/String;Ljava/lang/String;)V
        end local 2 // org.apache.cassandra.service.MigrationListener listener
         3: .line 229
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 231
            return
        end local 1 // org.apache.cassandra.db.marshal.UserType ut
        end local 0 // org.apache.cassandra.service.MigrationManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/apache/cassandra/service/MigrationManager;
            0    5     1        ut  Lorg/apache/cassandra/db/marshal/UserType;
            2    3     2  listener  Lorg/apache/cassandra/service/MigrationListener;
    MethodParameters:
      Name  Flags
      ut    

  public void notifyCreateFunction(org.apache.cassandra.cql3.functions.UDFunction);
    descriptor: (Lorg/apache/cassandra/cql3/functions/UDFunction;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.apache.cassandra.service.MigrationManager this
        start local 1 // org.apache.cassandra.cql3.functions.UDFunction udf
         0: .line 235
            aload 0 /* this */
            getfield org.apache.cassandra.service.MigrationManager.listeners:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: org.apache.cassandra.service.MigrationManager org.apache.cassandra.cql3.functions.UDFunction top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.service.MigrationListener
            astore 2 /* listener */
        start local 2 // org.apache.cassandra.service.MigrationListener listener
         2: .line 236
            aload 2 /* listener */
            aload 1 /* udf */
            invokevirtual org.apache.cassandra.cql3.functions.UDFunction.name:()Lorg/apache/cassandra/cql3/functions/FunctionName;
            getfield org.apache.cassandra.cql3.functions.FunctionName.keyspace:Ljava/lang/String;
            aload 1 /* udf */
            invokevirtual org.apache.cassandra.cql3.functions.UDFunction.name:()Lorg/apache/cassandra/cql3/functions/FunctionName;
            getfield org.apache.cassandra.cql3.functions.FunctionName.name:Ljava/lang/String;
            aload 1 /* udf */
            invokevirtual org.apache.cassandra.cql3.functions.UDFunction.argTypes:()Ljava/util/List;
            invokevirtual org.apache.cassandra.service.MigrationListener.onCreateFunction:(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V
        end local 2 // org.apache.cassandra.service.MigrationListener listener
         3: .line 235
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 237
            return
        end local 1 // org.apache.cassandra.cql3.functions.UDFunction udf
        end local 0 // org.apache.cassandra.service.MigrationManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/apache/cassandra/service/MigrationManager;
            0    5     1       udf  Lorg/apache/cassandra/cql3/functions/UDFunction;
            2    3     2  listener  Lorg/apache/cassandra/service/MigrationListener;
    MethodParameters:
      Name  Flags
      udf   

  public void notifyCreateAggregate(org.apache.cassandra.cql3.functions.UDAggregate);
    descriptor: (Lorg/apache/cassandra/cql3/functions/UDAggregate;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.apache.cassandra.service.MigrationManager this
        start local 1 // org.apache.cassandra.cql3.functions.UDAggregate udf
         0: .line 241
            aload 0 /* this */
            getfield org.apache.cassandra.service.MigrationManager.listeners:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: org.apache.cassandra.service.MigrationManager org.apache.cassandra.cql3.functions.UDAggregate top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.service.MigrationListener
            astore 2 /* listener */
        start local 2 // org.apache.cassandra.service.MigrationListener listener
         2: .line 242
            aload 2 /* listener */
            aload 1 /* udf */
            invokevirtual org.apache.cassandra.cql3.functions.UDAggregate.name:()Lorg/apache/cassandra/cql3/functions/FunctionName;
            getfield org.apache.cassandra.cql3.functions.FunctionName.keyspace:Ljava/lang/String;
            aload 1 /* udf */
            invokevirtual org.apache.cassandra.cql3.functions.UDAggregate.name:()Lorg/apache/cassandra/cql3/functions/FunctionName;
            getfield org.apache.cassandra.cql3.functions.FunctionName.name:Ljava/lang/String;
            aload 1 /* udf */
            invokevirtual org.apache.cassandra.cql3.functions.UDAggregate.argTypes:()Ljava/util/List;
            invokevirtual org.apache.cassandra.service.MigrationListener.onCreateAggregate:(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V
        end local 2 // org.apache.cassandra.service.MigrationListener listener
         3: .line 241
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 243
            return
        end local 1 // org.apache.cassandra.cql3.functions.UDAggregate udf
        end local 0 // org.apache.cassandra.service.MigrationManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/apache/cassandra/service/MigrationManager;
            0    5     1       udf  Lorg/apache/cassandra/cql3/functions/UDAggregate;
            2    3     2  listener  Lorg/apache/cassandra/service/MigrationListener;
    MethodParameters:
      Name  Flags
      udf   

  public void notifyUpdateKeyspace(org.apache.cassandra.schema.KeyspaceMetadata);
    descriptor: (Lorg/apache/cassandra/schema/KeyspaceMetadata;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.apache.cassandra.service.MigrationManager this
        start local 1 // org.apache.cassandra.schema.KeyspaceMetadata ksm
         0: .line 247
            aload 0 /* this */
            getfield org.apache.cassandra.service.MigrationManager.listeners:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: org.apache.cassandra.service.MigrationManager org.apache.cassandra.schema.KeyspaceMetadata top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.service.MigrationListener
            astore 2 /* listener */
        start local 2 // org.apache.cassandra.service.MigrationListener listener
         2: .line 248
            aload 2 /* listener */
            aload 1 /* ksm */
            getfield org.apache.cassandra.schema.KeyspaceMetadata.name:Ljava/lang/String;
            invokevirtual org.apache.cassandra.service.MigrationListener.onUpdateKeyspace:(Ljava/lang/String;)V
        end local 2 // org.apache.cassandra.service.MigrationListener listener
         3: .line 247
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 249
            return
        end local 1 // org.apache.cassandra.schema.KeyspaceMetadata ksm
        end local 0 // org.apache.cassandra.service.MigrationManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/apache/cassandra/service/MigrationManager;
            0    5     1       ksm  Lorg/apache/cassandra/schema/KeyspaceMetadata;
            2    3     2  listener  Lorg/apache/cassandra/service/MigrationListener;
    MethodParameters:
      Name  Flags
      ksm   

  public void notifyUpdateColumnFamily(org.apache.cassandra.config.CFMetaData, boolean);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.apache.cassandra.service.MigrationManager this
        start local 1 // org.apache.cassandra.config.CFMetaData cfm
        start local 2 // boolean columnsDidChange
         0: .line 253
            aload 0 /* this */
            getfield org.apache.cassandra.service.MigrationManager.listeners:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 3
      StackMap locals: org.apache.cassandra.service.MigrationManager org.apache.cassandra.config.CFMetaData int top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.service.MigrationListener
            astore 3 /* listener */
        start local 3 // org.apache.cassandra.service.MigrationListener listener
         2: .line 254
            aload 3 /* listener */
            aload 1 /* cfm */
            getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
            aload 1 /* cfm */
            getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
            iload 2 /* columnsDidChange */
            invokevirtual org.apache.cassandra.service.MigrationListener.onUpdateColumnFamily:(Ljava/lang/String;Ljava/lang/String;Z)V
        end local 3 // org.apache.cassandra.service.MigrationListener listener
         3: .line 253
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 255
            return
        end local 2 // boolean columnsDidChange
        end local 1 // org.apache.cassandra.config.CFMetaData cfm
        end local 0 // org.apache.cassandra.service.MigrationManager this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    5     0              this  Lorg/apache/cassandra/service/MigrationManager;
            0    5     1               cfm  Lorg/apache/cassandra/config/CFMetaData;
            0    5     2  columnsDidChange  Z
            2    3     3          listener  Lorg/apache/cassandra/service/MigrationListener;
    MethodParameters:
                  Name  Flags
      cfm               
      columnsDidChange  

  public void notifyUpdateView(org.apache.cassandra.config.ViewDefinition, boolean);
    descriptor: (Lorg/apache/cassandra/config/ViewDefinition;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // org.apache.cassandra.service.MigrationManager this
        start local 1 // org.apache.cassandra.config.ViewDefinition view
        start local 2 // boolean columnsDidChange
         0: .line 259
            aload 0 /* this */
            getfield org.apache.cassandra.service.MigrationManager.listeners:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 3
      StackMap locals: org.apache.cassandra.service.MigrationManager org.apache.cassandra.config.ViewDefinition int top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.service.MigrationListener
            astore 3 /* listener */
        start local 3 // org.apache.cassandra.service.MigrationListener listener
         2: .line 260
            aload 3 /* listener */
            aload 1 /* view */
            getfield org.apache.cassandra.config.ViewDefinition.ksName:Ljava/lang/String;
            aload 1 /* view */
            getfield org.apache.cassandra.config.ViewDefinition.viewName:Ljava/lang/String;
            iload 2 /* columnsDidChange */
            invokevirtual org.apache.cassandra.service.MigrationListener.onUpdateView:(Ljava/lang/String;Ljava/lang/String;Z)V
        end local 3 // org.apache.cassandra.service.MigrationListener listener
         3: .line 259
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 261
            return
        end local 2 // boolean columnsDidChange
        end local 1 // org.apache.cassandra.config.ViewDefinition view
        end local 0 // org.apache.cassandra.service.MigrationManager this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    5     0              this  Lorg/apache/cassandra/service/MigrationManager;
            0    5     1              view  Lorg/apache/cassandra/config/ViewDefinition;
            0    5     2  columnsDidChange  Z
            2    3     3          listener  Lorg/apache/cassandra/service/MigrationListener;
    MethodParameters:
                  Name  Flags
      view              
      columnsDidChange  

  public void notifyUpdateUserType(org.apache.cassandra.db.marshal.UserType);
    descriptor: (Lorg/apache/cassandra/db/marshal/UserType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.apache.cassandra.service.MigrationManager this
        start local 1 // org.apache.cassandra.db.marshal.UserType ut
         0: .line 265
            aload 0 /* this */
            getfield org.apache.cassandra.service.MigrationManager.listeners:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: org.apache.cassandra.service.MigrationManager org.apache.cassandra.db.marshal.UserType top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.service.MigrationListener
            astore 2 /* listener */
        start local 2 // org.apache.cassandra.service.MigrationListener listener
         2: .line 266
            aload 2 /* listener */
            aload 1 /* ut */
            getfield org.apache.cassandra.db.marshal.UserType.keyspace:Ljava/lang/String;
            aload 1 /* ut */
            invokevirtual org.apache.cassandra.db.marshal.UserType.getNameAsString:()Ljava/lang/String;
            invokevirtual org.apache.cassandra.service.MigrationListener.onUpdateUserType:(Ljava/lang/String;Ljava/lang/String;)V
        end local 2 // org.apache.cassandra.service.MigrationListener listener
         3: .line 265
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 269
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            aload 1 /* ut */
            getfield org.apache.cassandra.db.marshal.UserType.keyspace:Ljava/lang/String;
            invokevirtual org.apache.cassandra.config.Schema.getKSMetaData:(Ljava/lang/String;)Lorg/apache/cassandra/schema/KeyspaceMetadata;
            getfield org.apache.cassandra.schema.KeyspaceMetadata.functions:Lorg/apache/cassandra/schema/Functions;
            invokevirtual org.apache.cassandra.schema.Functions.udfs:()Ljava/util/stream/Stream;
            aload 1 /* ut */
            invokedynamic accept(Lorg/apache/cassandra/db/marshal/UserType;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  org/apache/cassandra/service/MigrationManager.lambda$1(Lorg/apache/cassandra/db/marshal/UserType;Lorg/apache/cassandra/cql3/functions/UDFunction;)V (6)
                  (Lorg/apache/cassandra/cql3/functions/UDFunction;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
         5: .line 270
            return
        end local 1 // org.apache.cassandra.db.marshal.UserType ut
        end local 0 // org.apache.cassandra.service.MigrationManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lorg/apache/cassandra/service/MigrationManager;
            0    6     1        ut  Lorg/apache/cassandra/db/marshal/UserType;
            2    3     2  listener  Lorg/apache/cassandra/service/MigrationListener;
    MethodParameters:
      Name  Flags
      ut    

  public void notifyUpdateFunction(org.apache.cassandra.cql3.functions.UDFunction);
    descriptor: (Lorg/apache/cassandra/cql3/functions/UDFunction;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.apache.cassandra.service.MigrationManager this
        start local 1 // org.apache.cassandra.cql3.functions.UDFunction udf
         0: .line 274
            aload 0 /* this */
            getfield org.apache.cassandra.service.MigrationManager.listeners:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: org.apache.cassandra.service.MigrationManager org.apache.cassandra.cql3.functions.UDFunction top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.service.MigrationListener
            astore 2 /* listener */
        start local 2 // org.apache.cassandra.service.MigrationListener listener
         2: .line 275
            aload 2 /* listener */
            aload 1 /* udf */
            invokevirtual org.apache.cassandra.cql3.functions.UDFunction.name:()Lorg/apache/cassandra/cql3/functions/FunctionName;
            getfield org.apache.cassandra.cql3.functions.FunctionName.keyspace:Ljava/lang/String;
            aload 1 /* udf */
            invokevirtual org.apache.cassandra.cql3.functions.UDFunction.name:()Lorg/apache/cassandra/cql3/functions/FunctionName;
            getfield org.apache.cassandra.cql3.functions.FunctionName.name:Ljava/lang/String;
            aload 1 /* udf */
            invokevirtual org.apache.cassandra.cql3.functions.UDFunction.argTypes:()Ljava/util/List;
            invokevirtual org.apache.cassandra.service.MigrationListener.onUpdateFunction:(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V
        end local 2 // org.apache.cassandra.service.MigrationListener listener
         3: .line 274
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 276
            return
        end local 1 // org.apache.cassandra.cql3.functions.UDFunction udf
        end local 0 // org.apache.cassandra.service.MigrationManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/apache/cassandra/service/MigrationManager;
            0    5     1       udf  Lorg/apache/cassandra/cql3/functions/UDFunction;
            2    3     2  listener  Lorg/apache/cassandra/service/MigrationListener;
    MethodParameters:
      Name  Flags
      udf   

  public void notifyUpdateAggregate(org.apache.cassandra.cql3.functions.UDAggregate);
    descriptor: (Lorg/apache/cassandra/cql3/functions/UDAggregate;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.apache.cassandra.service.MigrationManager this
        start local 1 // org.apache.cassandra.cql3.functions.UDAggregate udf
         0: .line 280
            aload 0 /* this */
            getfield org.apache.cassandra.service.MigrationManager.listeners:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: org.apache.cassandra.service.MigrationManager org.apache.cassandra.cql3.functions.UDAggregate top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.service.MigrationListener
            astore 2 /* listener */
        start local 2 // org.apache.cassandra.service.MigrationListener listener
         2: .line 281
            aload 2 /* listener */
            aload 1 /* udf */
            invokevirtual org.apache.cassandra.cql3.functions.UDAggregate.name:()Lorg/apache/cassandra/cql3/functions/FunctionName;
            getfield org.apache.cassandra.cql3.functions.FunctionName.keyspace:Ljava/lang/String;
            aload 1 /* udf */
            invokevirtual org.apache.cassandra.cql3.functions.UDAggregate.name:()Lorg/apache/cassandra/cql3/functions/FunctionName;
            getfield org.apache.cassandra.cql3.functions.FunctionName.name:Ljava/lang/String;
            aload 1 /* udf */
            invokevirtual org.apache.cassandra.cql3.functions.UDAggregate.argTypes:()Ljava/util/List;
            invokevirtual org.apache.cassandra.service.MigrationListener.onUpdateAggregate:(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V
        end local 2 // org.apache.cassandra.service.MigrationListener listener
         3: .line 280
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 282
            return
        end local 1 // org.apache.cassandra.cql3.functions.UDAggregate udf
        end local 0 // org.apache.cassandra.service.MigrationManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/apache/cassandra/service/MigrationManager;
            0    5     1       udf  Lorg/apache/cassandra/cql3/functions/UDAggregate;
            2    3     2  listener  Lorg/apache/cassandra/service/MigrationListener;
    MethodParameters:
      Name  Flags
      udf   

  public void notifyDropKeyspace(org.apache.cassandra.schema.KeyspaceMetadata);
    descriptor: (Lorg/apache/cassandra/schema/KeyspaceMetadata;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // org.apache.cassandra.service.MigrationManager this
        start local 1 // org.apache.cassandra.schema.KeyspaceMetadata ksm
         0: .line 286
            aload 0 /* this */
            getfield org.apache.cassandra.service.MigrationManager.listeners:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: org.apache.cassandra.service.MigrationManager org.apache.cassandra.schema.KeyspaceMetadata top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.service.MigrationListener
            astore 2 /* listener */
        start local 2 // org.apache.cassandra.service.MigrationListener listener
         2: .line 287
            aload 2 /* listener */
            aload 1 /* ksm */
            getfield org.apache.cassandra.schema.KeyspaceMetadata.name:Ljava/lang/String;
            invokevirtual org.apache.cassandra.service.MigrationListener.onDropKeyspace:(Ljava/lang/String;)V
        end local 2 // org.apache.cassandra.service.MigrationListener listener
         3: .line 286
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 288
            return
        end local 1 // org.apache.cassandra.schema.KeyspaceMetadata ksm
        end local 0 // org.apache.cassandra.service.MigrationManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/apache/cassandra/service/MigrationManager;
            0    5     1       ksm  Lorg/apache/cassandra/schema/KeyspaceMetadata;
            2    3     2  listener  Lorg/apache/cassandra/service/MigrationListener;
    MethodParameters:
      Name  Flags
      ksm   

  public void notifyDropColumnFamily(org.apache.cassandra.config.CFMetaData);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.apache.cassandra.service.MigrationManager this
        start local 1 // org.apache.cassandra.config.CFMetaData cfm
         0: .line 292
            aload 0 /* this */
            getfield org.apache.cassandra.service.MigrationManager.listeners:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: org.apache.cassandra.service.MigrationManager org.apache.cassandra.config.CFMetaData top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.service.MigrationListener
            astore 2 /* listener */
        start local 2 // org.apache.cassandra.service.MigrationListener listener
         2: .line 293
            aload 2 /* listener */
            aload 1 /* cfm */
            getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
            aload 1 /* cfm */
            getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
            invokevirtual org.apache.cassandra.service.MigrationListener.onDropColumnFamily:(Ljava/lang/String;Ljava/lang/String;)V
        end local 2 // org.apache.cassandra.service.MigrationListener listener
         3: .line 292
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 294
            return
        end local 1 // org.apache.cassandra.config.CFMetaData cfm
        end local 0 // org.apache.cassandra.service.MigrationManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/apache/cassandra/service/MigrationManager;
            0    5     1       cfm  Lorg/apache/cassandra/config/CFMetaData;
            2    3     2  listener  Lorg/apache/cassandra/service/MigrationListener;
    MethodParameters:
      Name  Flags
      cfm   

  public void notifyDropView(org.apache.cassandra.config.ViewDefinition);
    descriptor: (Lorg/apache/cassandra/config/ViewDefinition;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.apache.cassandra.service.MigrationManager this
        start local 1 // org.apache.cassandra.config.ViewDefinition view
         0: .line 298
            aload 0 /* this */
            getfield org.apache.cassandra.service.MigrationManager.listeners:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: org.apache.cassandra.service.MigrationManager org.apache.cassandra.config.ViewDefinition top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.service.MigrationListener
            astore 2 /* listener */
        start local 2 // org.apache.cassandra.service.MigrationListener listener
         2: .line 299
            aload 2 /* listener */
            aload 1 /* view */
            getfield org.apache.cassandra.config.ViewDefinition.ksName:Ljava/lang/String;
            aload 1 /* view */
            getfield org.apache.cassandra.config.ViewDefinition.viewName:Ljava/lang/String;
            invokevirtual org.apache.cassandra.service.MigrationListener.onDropView:(Ljava/lang/String;Ljava/lang/String;)V
        end local 2 // org.apache.cassandra.service.MigrationListener listener
         3: .line 298
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 300
            return
        end local 1 // org.apache.cassandra.config.ViewDefinition view
        end local 0 // org.apache.cassandra.service.MigrationManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/apache/cassandra/service/MigrationManager;
            0    5     1      view  Lorg/apache/cassandra/config/ViewDefinition;
            2    3     2  listener  Lorg/apache/cassandra/service/MigrationListener;
    MethodParameters:
      Name  Flags
      view  

  public void notifyDropUserType(org.apache.cassandra.db.marshal.UserType);
    descriptor: (Lorg/apache/cassandra/db/marshal/UserType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.apache.cassandra.service.MigrationManager this
        start local 1 // org.apache.cassandra.db.marshal.UserType ut
         0: .line 304
            aload 0 /* this */
            getfield org.apache.cassandra.service.MigrationManager.listeners:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: org.apache.cassandra.service.MigrationManager org.apache.cassandra.db.marshal.UserType top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.service.MigrationListener
            astore 2 /* listener */
        start local 2 // org.apache.cassandra.service.MigrationListener listener
         2: .line 305
            aload 2 /* listener */
            aload 1 /* ut */
            getfield org.apache.cassandra.db.marshal.UserType.keyspace:Ljava/lang/String;
            aload 1 /* ut */
            invokevirtual org.apache.cassandra.db.marshal.UserType.getNameAsString:()Ljava/lang/String;
            invokevirtual org.apache.cassandra.service.MigrationListener.onDropUserType:(Ljava/lang/String;Ljava/lang/String;)V
        end local 2 // org.apache.cassandra.service.MigrationListener listener
         3: .line 304
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 306
            return
        end local 1 // org.apache.cassandra.db.marshal.UserType ut
        end local 0 // org.apache.cassandra.service.MigrationManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/apache/cassandra/service/MigrationManager;
            0    5     1        ut  Lorg/apache/cassandra/db/marshal/UserType;
            2    3     2  listener  Lorg/apache/cassandra/service/MigrationListener;
    MethodParameters:
      Name  Flags
      ut    

  public void notifyDropFunction(org.apache.cassandra.cql3.functions.UDFunction);
    descriptor: (Lorg/apache/cassandra/cql3/functions/UDFunction;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.apache.cassandra.service.MigrationManager this
        start local 1 // org.apache.cassandra.cql3.functions.UDFunction udf
         0: .line 310
            aload 0 /* this */
            getfield org.apache.cassandra.service.MigrationManager.listeners:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: org.apache.cassandra.service.MigrationManager org.apache.cassandra.cql3.functions.UDFunction top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.service.MigrationListener
            astore 2 /* listener */
        start local 2 // org.apache.cassandra.service.MigrationListener listener
         2: .line 311
            aload 2 /* listener */
            aload 1 /* udf */
            invokevirtual org.apache.cassandra.cql3.functions.UDFunction.name:()Lorg/apache/cassandra/cql3/functions/FunctionName;
            getfield org.apache.cassandra.cql3.functions.FunctionName.keyspace:Ljava/lang/String;
            aload 1 /* udf */
            invokevirtual org.apache.cassandra.cql3.functions.UDFunction.name:()Lorg/apache/cassandra/cql3/functions/FunctionName;
            getfield org.apache.cassandra.cql3.functions.FunctionName.name:Ljava/lang/String;
            aload 1 /* udf */
            invokevirtual org.apache.cassandra.cql3.functions.UDFunction.argTypes:()Ljava/util/List;
            invokevirtual org.apache.cassandra.service.MigrationListener.onDropFunction:(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V
        end local 2 // org.apache.cassandra.service.MigrationListener listener
         3: .line 310
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 312
            return
        end local 1 // org.apache.cassandra.cql3.functions.UDFunction udf
        end local 0 // org.apache.cassandra.service.MigrationManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/apache/cassandra/service/MigrationManager;
            0    5     1       udf  Lorg/apache/cassandra/cql3/functions/UDFunction;
            2    3     2  listener  Lorg/apache/cassandra/service/MigrationListener;
    MethodParameters:
      Name  Flags
      udf   

  public void notifyDropAggregate(org.apache.cassandra.cql3.functions.UDAggregate);
    descriptor: (Lorg/apache/cassandra/cql3/functions/UDAggregate;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // org.apache.cassandra.service.MigrationManager this
        start local 1 // org.apache.cassandra.cql3.functions.UDAggregate udf
         0: .line 316
            aload 0 /* this */
            getfield org.apache.cassandra.service.MigrationManager.listeners:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 3
      StackMap locals: org.apache.cassandra.service.MigrationManager org.apache.cassandra.cql3.functions.UDAggregate top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.apache.cassandra.service.MigrationListener
            astore 2 /* listener */
        start local 2 // org.apache.cassandra.service.MigrationListener listener
         2: .line 317
            aload 2 /* listener */
            aload 1 /* udf */
            invokevirtual org.apache.cassandra.cql3.functions.UDAggregate.name:()Lorg/apache/cassandra/cql3/functions/FunctionName;
            getfield org.apache.cassandra.cql3.functions.FunctionName.keyspace:Ljava/lang/String;
            aload 1 /* udf */
            invokevirtual org.apache.cassandra.cql3.functions.UDAggregate.name:()Lorg/apache/cassandra/cql3/functions/FunctionName;
            getfield org.apache.cassandra.cql3.functions.FunctionName.name:Ljava/lang/String;
            aload 1 /* udf */
            invokevirtual org.apache.cassandra.cql3.functions.UDAggregate.argTypes:()Ljava/util/List;
            invokevirtual org.apache.cassandra.service.MigrationListener.onDropAggregate:(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V
        end local 2 // org.apache.cassandra.service.MigrationListener listener
         3: .line 316
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 318
            return
        end local 1 // org.apache.cassandra.cql3.functions.UDAggregate udf
        end local 0 // org.apache.cassandra.service.MigrationManager this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/apache/cassandra/service/MigrationManager;
            0    5     1       udf  Lorg/apache/cassandra/cql3/functions/UDAggregate;
            2    3     2  listener  Lorg/apache/cassandra/service/MigrationListener;
    MethodParameters:
      Name  Flags
      udf   

  public static void announceNewKeyspace(org.apache.cassandra.schema.KeyspaceMetadata);
    descriptor: (Lorg/apache/cassandra/schema/KeyspaceMetadata;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.schema.KeyspaceMetadata ksm
         0: .line 322
            aload 0 /* ksm */
            iconst_0
            invokestatic org.apache.cassandra.service.MigrationManager.announceNewKeyspace:(Lorg/apache/cassandra/schema/KeyspaceMetadata;Z)V
         1: .line 323
            return
        end local 0 // org.apache.cassandra.schema.KeyspaceMetadata ksm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   ksm  Lorg/apache/cassandra/schema/KeyspaceMetadata;
    Exceptions:
      throws org.apache.cassandra.exceptions.ConfigurationException
    MethodParameters:
      Name  Flags
      ksm   

  public static void announceNewKeyspace(org.apache.cassandra.schema.KeyspaceMetadata, boolean);
    descriptor: (Lorg/apache/cassandra/schema/KeyspaceMetadata;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.apache.cassandra.schema.KeyspaceMetadata ksm
        start local 1 // boolean announceLocally
         0: .line 327
            aload 0 /* ksm */
            invokestatic org.apache.cassandra.utils.FBUtilities.timestampMicros:()J
            iload 1 /* announceLocally */
            invokestatic org.apache.cassandra.service.MigrationManager.announceNewKeyspace:(Lorg/apache/cassandra/schema/KeyspaceMetadata;JZ)V
         1: .line 328
            return
        end local 1 // boolean announceLocally
        end local 0 // org.apache.cassandra.schema.KeyspaceMetadata ksm
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0              ksm  Lorg/apache/cassandra/schema/KeyspaceMetadata;
            0    2     1  announceLocally  Z
    Exceptions:
      throws org.apache.cassandra.exceptions.ConfigurationException
    MethodParameters:
                 Name  Flags
      ksm              
      announceLocally  

  public static void announceNewKeyspace(org.apache.cassandra.schema.KeyspaceMetadata, long, boolean);
    descriptor: (Lorg/apache/cassandra/schema/KeyspaceMetadata;JZ)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // org.apache.cassandra.schema.KeyspaceMetadata ksm
        start local 1 // long timestamp
        start local 3 // boolean announceLocally
         0: .line 332
            aload 0 /* ksm */
            invokevirtual org.apache.cassandra.schema.KeyspaceMetadata.validate:()V
         1: .line 334
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            aload 0 /* ksm */
            getfield org.apache.cassandra.schema.KeyspaceMetadata.name:Ljava/lang/String;
            invokevirtual org.apache.cassandra.config.Schema.getKSMetaData:(Ljava/lang/String;)Lorg/apache/cassandra/schema/KeyspaceMetadata;
            ifnull 3
         2: .line 335
            new org.apache.cassandra.exceptions.AlreadyExistsException
            dup
            aload 0 /* ksm */
            getfield org.apache.cassandra.schema.KeyspaceMetadata.name:Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.AlreadyExistsException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 337
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.service.MigrationManager.logger:Lorg/slf4j/Logger;
            ldc "Create new Keyspace: {}"
            aload 0 /* ksm */
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 338
            aload 0 /* ksm */
            lload 1 /* timestamp */
            invokestatic org.apache.cassandra.schema.SchemaKeyspace.makeCreateKeyspaceMutation:(Lorg/apache/cassandra/schema/KeyspaceMetadata;J)Lorg/apache/cassandra/db/Mutation$SimpleBuilder;
            iload 3 /* announceLocally */
            invokestatic org.apache.cassandra.service.MigrationManager.announce:(Lorg/apache/cassandra/db/Mutation$SimpleBuilder;Z)V
         5: .line 339
            return
        end local 3 // boolean announceLocally
        end local 1 // long timestamp
        end local 0 // org.apache.cassandra.schema.KeyspaceMetadata ksm
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0              ksm  Lorg/apache/cassandra/schema/KeyspaceMetadata;
            0    6     1        timestamp  J
            0    6     3  announceLocally  Z
    Exceptions:
      throws org.apache.cassandra.exceptions.ConfigurationException
    MethodParameters:
                 Name  Flags
      ksm              
      timestamp        
      announceLocally  

  public static void announceNewColumnFamily(org.apache.cassandra.config.CFMetaData);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.config.CFMetaData cfm
         0: .line 343
            aload 0 /* cfm */
            iconst_0
            invokestatic org.apache.cassandra.service.MigrationManager.announceNewColumnFamily:(Lorg/apache/cassandra/config/CFMetaData;Z)V
         1: .line 344
            return
        end local 0 // org.apache.cassandra.config.CFMetaData cfm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   cfm  Lorg/apache/cassandra/config/CFMetaData;
    Exceptions:
      throws org.apache.cassandra.exceptions.ConfigurationException
    MethodParameters:
      Name  Flags
      cfm   

  public static void announceNewColumnFamily(org.apache.cassandra.config.CFMetaData, boolean);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.cassandra.config.CFMetaData cfm
        start local 1 // boolean announceLocally
         0: .line 348
            aload 0 /* cfm */
            iload 1 /* announceLocally */
            iconst_1
            invokestatic org.apache.cassandra.service.MigrationManager.announceNewColumnFamily:(Lorg/apache/cassandra/config/CFMetaData;ZZ)V
         1: .line 349
            return
        end local 1 // boolean announceLocally
        end local 0 // org.apache.cassandra.config.CFMetaData cfm
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0              cfm  Lorg/apache/cassandra/config/CFMetaData;
            0    2     1  announceLocally  Z
    Exceptions:
      throws org.apache.cassandra.exceptions.ConfigurationException
    MethodParameters:
                 Name  Flags
      cfm              
      announceLocally  

  public static void forceAnnounceNewColumnFamily(org.apache.cassandra.config.CFMetaData);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.apache.cassandra.config.CFMetaData cfm
         0: .line 363
            aload 0 /* cfm */
            iconst_0
            iconst_0
            lconst_0
            invokestatic org.apache.cassandra.service.MigrationManager.announceNewColumnFamily:(Lorg/apache/cassandra/config/CFMetaData;ZZJ)V
         1: .line 364
            return
        end local 0 // org.apache.cassandra.config.CFMetaData cfm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   cfm  Lorg/apache/cassandra/config/CFMetaData;
    Exceptions:
      throws org.apache.cassandra.exceptions.ConfigurationException
    MethodParameters:
      Name  Flags
      cfm   

  private static void announceNewColumnFamily(org.apache.cassandra.config.CFMetaData, boolean, boolean);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;ZZ)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.apache.cassandra.config.CFMetaData cfm
        start local 1 // boolean announceLocally
        start local 2 // boolean throwOnDuplicate
         0: .line 368
            aload 0 /* cfm */
            iload 1 /* announceLocally */
            iload 2 /* throwOnDuplicate */
            invokestatic org.apache.cassandra.utils.FBUtilities.timestampMicros:()J
            invokestatic org.apache.cassandra.service.MigrationManager.announceNewColumnFamily:(Lorg/apache/cassandra/config/CFMetaData;ZZJ)V
         1: .line 369
            return
        end local 2 // boolean throwOnDuplicate
        end local 1 // boolean announceLocally
        end local 0 // org.apache.cassandra.config.CFMetaData cfm
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    2     0               cfm  Lorg/apache/cassandra/config/CFMetaData;
            0    2     1   announceLocally  Z
            0    2     2  throwOnDuplicate  Z
    Exceptions:
      throws org.apache.cassandra.exceptions.ConfigurationException
    MethodParameters:
                  Name  Flags
      cfm               
      announceLocally   
      throwOnDuplicate  

  private static void announceNewColumnFamily(org.apache.cassandra.config.CFMetaData, boolean, boolean, long);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;ZZJ)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=6, args_size=4
        start local 0 // org.apache.cassandra.config.CFMetaData cfm
        start local 1 // boolean announceLocally
        start local 2 // boolean throwOnDuplicate
        start local 3 // long timestamp
         0: .line 373
            aload 0 /* cfm */
            invokevirtual org.apache.cassandra.config.CFMetaData.validate:()Lorg/apache/cassandra/config/CFMetaData;
            pop
         1: .line 375
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            aload 0 /* cfm */
            getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
            invokevirtual org.apache.cassandra.config.Schema.getKSMetaData:(Ljava/lang/String;)Lorg/apache/cassandra/schema/KeyspaceMetadata;
            astore 5 /* ksm */
        start local 5 // org.apache.cassandra.schema.KeyspaceMetadata ksm
         2: .line 376
            aload 5 /* ksm */
            ifnonnull 4
         3: .line 377
            new org.apache.cassandra.exceptions.ConfigurationException
            dup
            ldc "Cannot add table '%s' to non existing keyspace '%s'."
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* cfm */
            getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* cfm */
            getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.ConfigurationException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 379
      StackMap locals: org.apache.cassandra.schema.KeyspaceMetadata
      StackMap stack:
            iload 2 /* throwOnDuplicate */
            ifeq 6
            aload 5 /* ksm */
            aload 0 /* cfm */
            getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
            invokevirtual org.apache.cassandra.schema.KeyspaceMetadata.getTableOrViewNullable:(Ljava/lang/String;)Lorg/apache/cassandra/config/CFMetaData;
            ifnull 6
         5: .line 380
            new org.apache.cassandra.exceptions.AlreadyExistsException
            dup
            aload 0 /* cfm */
            getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
            aload 0 /* cfm */
            getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.AlreadyExistsException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            athrow
         6: .line 382
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.service.MigrationManager.logger:Lorg/slf4j/Logger;
            ldc "Create new table: {}"
            aload 0 /* cfm */
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;)V
         7: .line 383
            aload 5 /* ksm */
            aload 0 /* cfm */
            lload 3 /* timestamp */
            invokestatic org.apache.cassandra.schema.SchemaKeyspace.makeCreateTableMutation:(Lorg/apache/cassandra/schema/KeyspaceMetadata;Lorg/apache/cassandra/config/CFMetaData;J)Lorg/apache/cassandra/db/Mutation$SimpleBuilder;
            iload 1 /* announceLocally */
            invokestatic org.apache.cassandra.service.MigrationManager.announce:(Lorg/apache/cassandra/db/Mutation$SimpleBuilder;Z)V
         8: .line 384
            return
        end local 5 // org.apache.cassandra.schema.KeyspaceMetadata ksm
        end local 3 // long timestamp
        end local 2 // boolean throwOnDuplicate
        end local 1 // boolean announceLocally
        end local 0 // org.apache.cassandra.config.CFMetaData cfm
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    9     0               cfm  Lorg/apache/cassandra/config/CFMetaData;
            0    9     1   announceLocally  Z
            0    9     2  throwOnDuplicate  Z
            0    9     3         timestamp  J
            2    9     5               ksm  Lorg/apache/cassandra/schema/KeyspaceMetadata;
    Exceptions:
      throws org.apache.cassandra.exceptions.ConfigurationException
    MethodParameters:
                  Name  Flags
      cfm               
      announceLocally   
      throwOnDuplicate  
      timestamp         

  public static void announceNewView(org.apache.cassandra.config.ViewDefinition, boolean);
    descriptor: (Lorg/apache/cassandra/config/ViewDefinition;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // org.apache.cassandra.config.ViewDefinition view
        start local 1 // boolean announceLocally
         0: .line 388
            aload 0 /* view */
            getfield org.apache.cassandra.config.ViewDefinition.metadata:Lorg/apache/cassandra/config/CFMetaData;
            invokevirtual org.apache.cassandra.config.CFMetaData.validate:()Lorg/apache/cassandra/config/CFMetaData;
            pop
         1: .line 390
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            aload 0 /* view */
            getfield org.apache.cassandra.config.ViewDefinition.ksName:Ljava/lang/String;
            invokevirtual org.apache.cassandra.config.Schema.getKSMetaData:(Ljava/lang/String;)Lorg/apache/cassandra/schema/KeyspaceMetadata;
            astore 2 /* ksm */
        start local 2 // org.apache.cassandra.schema.KeyspaceMetadata ksm
         2: .line 391
            aload 2 /* ksm */
            ifnonnull 4
         3: .line 392
            new org.apache.cassandra.exceptions.ConfigurationException
            dup
            ldc "Cannot add table '%s' to non existing keyspace '%s'."
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* view */
            getfield org.apache.cassandra.config.ViewDefinition.viewName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* view */
            getfield org.apache.cassandra.config.ViewDefinition.ksName:Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.ConfigurationException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 393
      StackMap locals: org.apache.cassandra.schema.KeyspaceMetadata
      StackMap stack:
            aload 2 /* ksm */
            aload 0 /* view */
            getfield org.apache.cassandra.config.ViewDefinition.viewName:Ljava/lang/String;
            invokevirtual org.apache.cassandra.schema.KeyspaceMetadata.getTableOrViewNullable:(Ljava/lang/String;)Lorg/apache/cassandra/config/CFMetaData;
            ifnull 6
         5: .line 394
            new org.apache.cassandra.exceptions.AlreadyExistsException
            dup
            aload 0 /* view */
            getfield org.apache.cassandra.config.ViewDefinition.ksName:Ljava/lang/String;
            aload 0 /* view */
            getfield org.apache.cassandra.config.ViewDefinition.viewName:Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.AlreadyExistsException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            athrow
         6: .line 396
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.service.MigrationManager.logger:Lorg/slf4j/Logger;
            ldc "Create new view: {}"
            aload 0 /* view */
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;)V
         7: .line 397
            aload 2 /* ksm */
            aload 0 /* view */
            invokestatic org.apache.cassandra.utils.FBUtilities.timestampMicros:()J
            invokestatic org.apache.cassandra.schema.SchemaKeyspace.makeCreateViewMutation:(Lorg/apache/cassandra/schema/KeyspaceMetadata;Lorg/apache/cassandra/config/ViewDefinition;J)Lorg/apache/cassandra/db/Mutation$SimpleBuilder;
            iload 1 /* announceLocally */
            invokestatic org.apache.cassandra.service.MigrationManager.announce:(Lorg/apache/cassandra/db/Mutation$SimpleBuilder;Z)V
         8: .line 398
            return
        end local 2 // org.apache.cassandra.schema.KeyspaceMetadata ksm
        end local 1 // boolean announceLocally
        end local 0 // org.apache.cassandra.config.ViewDefinition view
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    9     0             view  Lorg/apache/cassandra/config/ViewDefinition;
            0    9     1  announceLocally  Z
            2    9     2              ksm  Lorg/apache/cassandra/schema/KeyspaceMetadata;
    Exceptions:
      throws org.apache.cassandra.exceptions.ConfigurationException
    MethodParameters:
                 Name  Flags
      view             
      announceLocally  

  public static void announceNewType(org.apache.cassandra.db.marshal.UserType, boolean);
    descriptor: (Lorg/apache/cassandra/db/marshal/UserType;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.cassandra.db.marshal.UserType newType
        start local 1 // boolean announceLocally
         0: .line 402
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            aload 0 /* newType */
            getfield org.apache.cassandra.db.marshal.UserType.keyspace:Ljava/lang/String;
            invokevirtual org.apache.cassandra.config.Schema.getKSMetaData:(Ljava/lang/String;)Lorg/apache/cassandra/schema/KeyspaceMetadata;
            astore 2 /* ksm */
        start local 2 // org.apache.cassandra.schema.KeyspaceMetadata ksm
         1: .line 403
            aload 2 /* ksm */
            aload 0 /* newType */
            invokestatic org.apache.cassandra.utils.FBUtilities.timestampMicros:()J
            invokestatic org.apache.cassandra.schema.SchemaKeyspace.makeCreateTypeMutation:(Lorg/apache/cassandra/schema/KeyspaceMetadata;Lorg/apache/cassandra/db/marshal/UserType;J)Lorg/apache/cassandra/db/Mutation$SimpleBuilder;
            iload 1 /* announceLocally */
            invokestatic org.apache.cassandra.service.MigrationManager.announce:(Lorg/apache/cassandra/db/Mutation$SimpleBuilder;Z)V
         2: .line 404
            return
        end local 2 // org.apache.cassandra.schema.KeyspaceMetadata ksm
        end local 1 // boolean announceLocally
        end local 0 // org.apache.cassandra.db.marshal.UserType newType
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0          newType  Lorg/apache/cassandra/db/marshal/UserType;
            0    3     1  announceLocally  Z
            1    3     2              ksm  Lorg/apache/cassandra/schema/KeyspaceMetadata;
    MethodParameters:
                 Name  Flags
      newType          
      announceLocally  

  public static void announceNewFunction(org.apache.cassandra.cql3.functions.UDFunction, boolean);
    descriptor: (Lorg/apache/cassandra/cql3/functions/UDFunction;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.cassandra.cql3.functions.UDFunction udf
        start local 1 // boolean announceLocally
         0: .line 408
            getstatic org.apache.cassandra.service.MigrationManager.logger:Lorg/slf4j/Logger;
            ldc "Create scalar function '{}'"
            aload 0 /* udf */
            invokevirtual org.apache.cassandra.cql3.functions.UDFunction.name:()Lorg/apache/cassandra/cql3/functions/FunctionName;
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 409
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            aload 0 /* udf */
            invokevirtual org.apache.cassandra.cql3.functions.UDFunction.name:()Lorg/apache/cassandra/cql3/functions/FunctionName;
            getfield org.apache.cassandra.cql3.functions.FunctionName.keyspace:Ljava/lang/String;
            invokevirtual org.apache.cassandra.config.Schema.getKSMetaData:(Ljava/lang/String;)Lorg/apache/cassandra/schema/KeyspaceMetadata;
            astore 2 /* ksm */
        start local 2 // org.apache.cassandra.schema.KeyspaceMetadata ksm
         2: .line 410
            aload 2 /* ksm */
            aload 0 /* udf */
            invokestatic org.apache.cassandra.utils.FBUtilities.timestampMicros:()J
            invokestatic org.apache.cassandra.schema.SchemaKeyspace.makeCreateFunctionMutation:(Lorg/apache/cassandra/schema/KeyspaceMetadata;Lorg/apache/cassandra/cql3/functions/UDFunction;J)Lorg/apache/cassandra/db/Mutation$SimpleBuilder;
            iload 1 /* announceLocally */
            invokestatic org.apache.cassandra.service.MigrationManager.announce:(Lorg/apache/cassandra/db/Mutation$SimpleBuilder;Z)V
         3: .line 411
            return
        end local 2 // org.apache.cassandra.schema.KeyspaceMetadata ksm
        end local 1 // boolean announceLocally
        end local 0 // org.apache.cassandra.cql3.functions.UDFunction udf
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0              udf  Lorg/apache/cassandra/cql3/functions/UDFunction;
            0    4     1  announceLocally  Z
            2    4     2              ksm  Lorg/apache/cassandra/schema/KeyspaceMetadata;
    MethodParameters:
                 Name  Flags
      udf              
      announceLocally  

  public static void announceNewAggregate(org.apache.cassandra.cql3.functions.UDAggregate, boolean);
    descriptor: (Lorg/apache/cassandra/cql3/functions/UDAggregate;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.cassandra.cql3.functions.UDAggregate udf
        start local 1 // boolean announceLocally
         0: .line 415
            getstatic org.apache.cassandra.service.MigrationManager.logger:Lorg/slf4j/Logger;
            ldc "Create aggregate function '{}'"
            aload 0 /* udf */
            invokevirtual org.apache.cassandra.cql3.functions.UDAggregate.name:()Lorg/apache/cassandra/cql3/functions/FunctionName;
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 416
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            aload 0 /* udf */
            invokevirtual org.apache.cassandra.cql3.functions.UDAggregate.name:()Lorg/apache/cassandra/cql3/functions/FunctionName;
            getfield org.apache.cassandra.cql3.functions.FunctionName.keyspace:Ljava/lang/String;
            invokevirtual org.apache.cassandra.config.Schema.getKSMetaData:(Ljava/lang/String;)Lorg/apache/cassandra/schema/KeyspaceMetadata;
            astore 2 /* ksm */
        start local 2 // org.apache.cassandra.schema.KeyspaceMetadata ksm
         2: .line 417
            aload 2 /* ksm */
            aload 0 /* udf */
            invokestatic org.apache.cassandra.utils.FBUtilities.timestampMicros:()J
            invokestatic org.apache.cassandra.schema.SchemaKeyspace.makeCreateAggregateMutation:(Lorg/apache/cassandra/schema/KeyspaceMetadata;Lorg/apache/cassandra/cql3/functions/UDAggregate;J)Lorg/apache/cassandra/db/Mutation$SimpleBuilder;
            iload 1 /* announceLocally */
            invokestatic org.apache.cassandra.service.MigrationManager.announce:(Lorg/apache/cassandra/db/Mutation$SimpleBuilder;Z)V
         3: .line 418
            return
        end local 2 // org.apache.cassandra.schema.KeyspaceMetadata ksm
        end local 1 // boolean announceLocally
        end local 0 // org.apache.cassandra.cql3.functions.UDAggregate udf
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0              udf  Lorg/apache/cassandra/cql3/functions/UDAggregate;
            0    4     1  announceLocally  Z
            2    4     2              ksm  Lorg/apache/cassandra/schema/KeyspaceMetadata;
    MethodParameters:
                 Name  Flags
      udf              
      announceLocally  

  public static void announceKeyspaceUpdate(org.apache.cassandra.schema.KeyspaceMetadata);
    descriptor: (Lorg/apache/cassandra/schema/KeyspaceMetadata;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.schema.KeyspaceMetadata ksm
         0: .line 422
            aload 0 /* ksm */
            iconst_0
            invokestatic org.apache.cassandra.service.MigrationManager.announceKeyspaceUpdate:(Lorg/apache/cassandra/schema/KeyspaceMetadata;Z)V
         1: .line 423
            return
        end local 0 // org.apache.cassandra.schema.KeyspaceMetadata ksm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   ksm  Lorg/apache/cassandra/schema/KeyspaceMetadata;
    Exceptions:
      throws org.apache.cassandra.exceptions.ConfigurationException
    MethodParameters:
      Name  Flags
      ksm   

  public static void announceKeyspaceUpdate(org.apache.cassandra.schema.KeyspaceMetadata, boolean);
    descriptor: (Lorg/apache/cassandra/schema/KeyspaceMetadata;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // org.apache.cassandra.schema.KeyspaceMetadata ksm
        start local 1 // boolean announceLocally
         0: .line 427
            aload 0 /* ksm */
            invokevirtual org.apache.cassandra.schema.KeyspaceMetadata.validate:()V
         1: .line 429
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            aload 0 /* ksm */
            getfield org.apache.cassandra.schema.KeyspaceMetadata.name:Ljava/lang/String;
            invokevirtual org.apache.cassandra.config.Schema.getKSMetaData:(Ljava/lang/String;)Lorg/apache/cassandra/schema/KeyspaceMetadata;
            astore 2 /* oldKsm */
        start local 2 // org.apache.cassandra.schema.KeyspaceMetadata oldKsm
         2: .line 430
            aload 2 /* oldKsm */
            ifnonnull 4
         3: .line 431
            new org.apache.cassandra.exceptions.ConfigurationException
            dup
            ldc "Cannot update non existing keyspace '%s'."
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* ksm */
            getfield org.apache.cassandra.schema.KeyspaceMetadata.name:Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.ConfigurationException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 433
      StackMap locals: org.apache.cassandra.schema.KeyspaceMetadata
      StackMap stack:
            getstatic org.apache.cassandra.service.MigrationManager.logger:Lorg/slf4j/Logger;
            ldc "Update Keyspace '{}' From {} To {}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* ksm */
            getfield org.apache.cassandra.schema.KeyspaceMetadata.name:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 2 /* oldKsm */
            aastore
            dup
            iconst_2
            aload 0 /* ksm */
            aastore
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;[Ljava/lang/Object;)V
         5: .line 434
            aload 0 /* ksm */
            getfield org.apache.cassandra.schema.KeyspaceMetadata.name:Ljava/lang/String;
            aload 0 /* ksm */
            getfield org.apache.cassandra.schema.KeyspaceMetadata.params:Lorg/apache/cassandra/schema/KeyspaceParams;
            invokestatic org.apache.cassandra.utils.FBUtilities.timestampMicros:()J
            invokestatic org.apache.cassandra.schema.SchemaKeyspace.makeCreateKeyspaceMutation:(Ljava/lang/String;Lorg/apache/cassandra/schema/KeyspaceParams;J)Lorg/apache/cassandra/db/Mutation$SimpleBuilder;
            iload 1 /* announceLocally */
            invokestatic org.apache.cassandra.service.MigrationManager.announce:(Lorg/apache/cassandra/db/Mutation$SimpleBuilder;Z)V
         6: .line 435
            return
        end local 2 // org.apache.cassandra.schema.KeyspaceMetadata oldKsm
        end local 1 // boolean announceLocally
        end local 0 // org.apache.cassandra.schema.KeyspaceMetadata ksm
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0              ksm  Lorg/apache/cassandra/schema/KeyspaceMetadata;
            0    7     1  announceLocally  Z
            2    7     2           oldKsm  Lorg/apache/cassandra/schema/KeyspaceMetadata;
    Exceptions:
      throws org.apache.cassandra.exceptions.ConfigurationException
    MethodParameters:
                 Name  Flags
      ksm              
      announceLocally  

  public static void announceColumnFamilyUpdate(org.apache.cassandra.config.CFMetaData);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.config.CFMetaData cfm
         0: .line 439
            aload 0 /* cfm */
            iconst_0
            invokestatic org.apache.cassandra.service.MigrationManager.announceColumnFamilyUpdate:(Lorg/apache/cassandra/config/CFMetaData;Z)V
         1: .line 440
            return
        end local 0 // org.apache.cassandra.config.CFMetaData cfm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   cfm  Lorg/apache/cassandra/config/CFMetaData;
    Exceptions:
      throws org.apache.cassandra.exceptions.ConfigurationException
    MethodParameters:
      Name  Flags
      cfm   

  public static void announceColumnFamilyUpdate(org.apache.cassandra.config.CFMetaData, boolean);
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.apache.cassandra.config.CFMetaData cfm
        start local 1 // boolean announceLocally
         0: .line 444
            aload 0 /* cfm */
            aconst_null
            iload 1 /* announceLocally */
            invokestatic org.apache.cassandra.service.MigrationManager.announceColumnFamilyUpdate:(Lorg/apache/cassandra/config/CFMetaData;Ljava/util/Collection;Z)V
         1: .line 445
            return
        end local 1 // boolean announceLocally
        end local 0 // org.apache.cassandra.config.CFMetaData cfm
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0              cfm  Lorg/apache/cassandra/config/CFMetaData;
            0    2     1  announceLocally  Z
    Exceptions:
      throws org.apache.cassandra.exceptions.ConfigurationException
    MethodParameters:
                 Name  Flags
      cfm              
      announceLocally  

  public static void announceColumnFamilyUpdate(org.apache.cassandra.config.CFMetaData, java.util.Collection<org.apache.cassandra.config.ViewDefinition>, );
    descriptor: (Lorg/apache/cassandra/config/CFMetaData;Ljava/util/Collection;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=8, args_size=3
        start local 0 // org.apache.cassandra.config.CFMetaData cfm
        start local 1 // java.util.Collection views
        start local 2 // boolean announceLocally
         0: .line 449
            aload 0 /* cfm */
            invokevirtual org.apache.cassandra.config.CFMetaData.validate:()Lorg/apache/cassandra/config/CFMetaData;
            pop
         1: .line 451
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            aload 0 /* cfm */
            getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
            aload 0 /* cfm */
            getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
            invokevirtual org.apache.cassandra.config.Schema.getCFMetaData:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/config/CFMetaData;
            astore 3 /* oldCfm */
        start local 3 // org.apache.cassandra.config.CFMetaData oldCfm
         2: .line 452
            aload 3 /* oldCfm */
            ifnonnull 4
         3: .line 453
            new org.apache.cassandra.exceptions.ConfigurationException
            dup
            ldc "Cannot update non existing table '%s' in keyspace '%s'."
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* cfm */
            getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* cfm */
            getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.ConfigurationException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 454
      StackMap locals: org.apache.cassandra.config.CFMetaData
      StackMap stack:
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            aload 0 /* cfm */
            getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
            invokevirtual org.apache.cassandra.config.Schema.getKSMetaData:(Ljava/lang/String;)Lorg/apache/cassandra/schema/KeyspaceMetadata;
            astore 4 /* ksm */
        start local 4 // org.apache.cassandra.schema.KeyspaceMetadata ksm
         5: .line 456
            aload 3 /* oldCfm */
            aload 0 /* cfm */
            invokevirtual org.apache.cassandra.config.CFMetaData.validateCompatibility:(Lorg/apache/cassandra/config/CFMetaData;)V
         6: .line 458
            invokestatic org.apache.cassandra.utils.FBUtilities.timestampMicros:()J
            lstore 5 /* timestamp */
        start local 5 // long timestamp
         7: .line 460
            getstatic org.apache.cassandra.service.MigrationManager.logger:Lorg/slf4j/Logger;
            ldc "Update table '{}/{}' From {} To {}"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* cfm */
            getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* cfm */
            getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 3 /* oldCfm */
            aastore
            dup
            iconst_3
            aload 0 /* cfm */
            aastore
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;[Ljava/lang/Object;)V
         8: .line 461
            aload 4 /* ksm */
            aload 3 /* oldCfm */
            aload 0 /* cfm */
            lload 5 /* timestamp */
            invokestatic org.apache.cassandra.schema.SchemaKeyspace.makeUpdateTableMutation:(Lorg/apache/cassandra/schema/KeyspaceMetadata;Lorg/apache/cassandra/config/CFMetaData;Lorg/apache/cassandra/config/CFMetaData;J)Lorg/apache/cassandra/db/Mutation$SimpleBuilder;
            astore 7 /* builder */
        start local 7 // org.apache.cassandra.db.Mutation$SimpleBuilder builder
         9: .line 463
            aload 1 /* views */
            ifnull 11
        10: .line 464
            aload 1 /* views */
            aload 7 /* builder */
            invokedynamic accept(Lorg/apache/cassandra/db/Mutation$SimpleBuilder;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  org/apache/cassandra/service/MigrationManager.lambda$2(Lorg/apache/cassandra/db/Mutation$SimpleBuilder;Lorg/apache/cassandra/config/ViewDefinition;)V (6)
                  (Lorg/apache/cassandra/config/ViewDefinition;)V
            invokeinterface java.util.Collection.forEach:(Ljava/util/function/Consumer;)V
        11: .line 466
      StackMap locals: org.apache.cassandra.schema.KeyspaceMetadata long org.apache.cassandra.db.Mutation$SimpleBuilder
      StackMap stack:
            aload 7 /* builder */
            iload 2 /* announceLocally */
            invokestatic org.apache.cassandra.service.MigrationManager.announce:(Lorg/apache/cassandra/db/Mutation$SimpleBuilder;Z)V
        12: .line 467
            return
        end local 7 // org.apache.cassandra.db.Mutation$SimpleBuilder builder
        end local 5 // long timestamp
        end local 4 // org.apache.cassandra.schema.KeyspaceMetadata ksm
        end local 3 // org.apache.cassandra.config.CFMetaData oldCfm
        end local 2 // boolean announceLocally
        end local 1 // java.util.Collection views
        end local 0 // org.apache.cassandra.config.CFMetaData cfm
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   13     0              cfm  Lorg/apache/cassandra/config/CFMetaData;
            0   13     1            views  Ljava/util/Collection<Lorg/apache/cassandra/config/ViewDefinition;>;
            0   13     2  announceLocally  Z
            2   13     3           oldCfm  Lorg/apache/cassandra/config/CFMetaData;
            5   13     4              ksm  Lorg/apache/cassandra/schema/KeyspaceMetadata;
            7   13     5        timestamp  J
            9   13     7          builder  Lorg/apache/cassandra/db/Mutation$SimpleBuilder;
    Exceptions:
      throws org.apache.cassandra.exceptions.ConfigurationException
    Signature: (Lorg/apache/cassandra/config/CFMetaData;Ljava/util/Collection<Lorg/apache/cassandra/config/ViewDefinition;>;Z)V
    MethodParameters:
                 Name  Flags
      cfm              
      views            
      announceLocally  

  public static void announceViewUpdate(org.apache.cassandra.config.ViewDefinition, boolean);
    descriptor: (Lorg/apache/cassandra/config/ViewDefinition;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // org.apache.cassandra.config.ViewDefinition view
        start local 1 // boolean announceLocally
         0: .line 471
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            aload 0 /* view */
            getfield org.apache.cassandra.config.ViewDefinition.ksName:Ljava/lang/String;
            invokevirtual org.apache.cassandra.config.Schema.getKSMetaData:(Ljava/lang/String;)Lorg/apache/cassandra/schema/KeyspaceMetadata;
            astore 2 /* ksm */
        start local 2 // org.apache.cassandra.schema.KeyspaceMetadata ksm
         1: .line 472
            invokestatic org.apache.cassandra.utils.FBUtilities.timestampMicros:()J
            lstore 3 /* timestamp */
        start local 3 // long timestamp
         2: .line 473
            aload 2 /* ksm */
            getfield org.apache.cassandra.schema.KeyspaceMetadata.name:Ljava/lang/String;
            aload 2 /* ksm */
            getfield org.apache.cassandra.schema.KeyspaceMetadata.params:Lorg/apache/cassandra/schema/KeyspaceParams;
            lload 3 /* timestamp */
            invokestatic org.apache.cassandra.schema.SchemaKeyspace.makeCreateKeyspaceMutation:(Ljava/lang/String;Lorg/apache/cassandra/schema/KeyspaceParams;J)Lorg/apache/cassandra/db/Mutation$SimpleBuilder;
            astore 5 /* builder */
        start local 5 // org.apache.cassandra.db.Mutation$SimpleBuilder builder
         3: .line 474
            aload 0 /* view */
            aload 5 /* builder */
            invokestatic org.apache.cassandra.service.MigrationManager.addViewUpdateToMutationBuilder:(Lorg/apache/cassandra/config/ViewDefinition;Lorg/apache/cassandra/db/Mutation$SimpleBuilder;)V
         4: .line 475
            aload 5 /* builder */
            iload 1 /* announceLocally */
            invokestatic org.apache.cassandra.service.MigrationManager.announce:(Lorg/apache/cassandra/db/Mutation$SimpleBuilder;Z)V
         5: .line 476
            return
        end local 5 // org.apache.cassandra.db.Mutation$SimpleBuilder builder
        end local 3 // long timestamp
        end local 2 // org.apache.cassandra.schema.KeyspaceMetadata ksm
        end local 1 // boolean announceLocally
        end local 0 // org.apache.cassandra.config.ViewDefinition view
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0             view  Lorg/apache/cassandra/config/ViewDefinition;
            0    6     1  announceLocally  Z
            1    6     2              ksm  Lorg/apache/cassandra/schema/KeyspaceMetadata;
            2    6     3        timestamp  J
            3    6     5          builder  Lorg/apache/cassandra/db/Mutation$SimpleBuilder;
    Exceptions:
      throws org.apache.cassandra.exceptions.ConfigurationException
    MethodParameters:
                 Name  Flags
      view             
      announceLocally  

  private static void addViewUpdateToMutationBuilder(org.apache.cassandra.config.ViewDefinition, org.apache.cassandra.db.Mutation$SimpleBuilder);
    descriptor: (Lorg/apache/cassandra/config/ViewDefinition;Lorg/apache/cassandra/db/Mutation$SimpleBuilder;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // org.apache.cassandra.config.ViewDefinition view
        start local 1 // org.apache.cassandra.db.Mutation$SimpleBuilder builder
         0: .line 480
            aload 0 /* view */
            getfield org.apache.cassandra.config.ViewDefinition.metadata:Lorg/apache/cassandra/config/CFMetaData;
            invokevirtual org.apache.cassandra.config.CFMetaData.validate:()Lorg/apache/cassandra/config/CFMetaData;
            pop
         1: .line 482
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            aload 0 /* view */
            getfield org.apache.cassandra.config.ViewDefinition.ksName:Ljava/lang/String;
            aload 0 /* view */
            getfield org.apache.cassandra.config.ViewDefinition.viewName:Ljava/lang/String;
            invokevirtual org.apache.cassandra.config.Schema.getView:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/config/ViewDefinition;
            astore 2 /* oldView */
        start local 2 // org.apache.cassandra.config.ViewDefinition oldView
         2: .line 483
            aload 2 /* oldView */
            ifnonnull 4
         3: .line 484
            new org.apache.cassandra.exceptions.ConfigurationException
            dup
            ldc "Cannot update non existing materialized view '%s' in keyspace '%s'."
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* view */
            getfield org.apache.cassandra.config.ViewDefinition.viewName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* view */
            getfield org.apache.cassandra.config.ViewDefinition.ksName:Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.ConfigurationException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 486
      StackMap locals: org.apache.cassandra.config.ViewDefinition
      StackMap stack:
            aload 2 /* oldView */
            getfield org.apache.cassandra.config.ViewDefinition.metadata:Lorg/apache/cassandra/config/CFMetaData;
            aload 0 /* view */
            getfield org.apache.cassandra.config.ViewDefinition.metadata:Lorg/apache/cassandra/config/CFMetaData;
            invokevirtual org.apache.cassandra.config.CFMetaData.validateCompatibility:(Lorg/apache/cassandra/config/CFMetaData;)V
         5: .line 488
            getstatic org.apache.cassandra.service.MigrationManager.logger:Lorg/slf4j/Logger;
            ldc "Update view '{}/{}' From {} To {}"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* view */
            getfield org.apache.cassandra.config.ViewDefinition.ksName:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* view */
            getfield org.apache.cassandra.config.ViewDefinition.viewName:Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 2 /* oldView */
            aastore
            dup
            iconst_3
            aload 0 /* view */
            aastore
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;[Ljava/lang/Object;)V
         6: .line 489
            aload 1 /* builder */
            aload 2 /* oldView */
            aload 0 /* view */
            invokestatic org.apache.cassandra.schema.SchemaKeyspace.makeUpdateViewMutation:(Lorg/apache/cassandra/db/Mutation$SimpleBuilder;Lorg/apache/cassandra/config/ViewDefinition;Lorg/apache/cassandra/config/ViewDefinition;)Lorg/apache/cassandra/db/Mutation$SimpleBuilder;
            pop
         7: .line 490
            return
        end local 2 // org.apache.cassandra.config.ViewDefinition oldView
        end local 1 // org.apache.cassandra.db.Mutation$SimpleBuilder builder
        end local 0 // org.apache.cassandra.config.ViewDefinition view
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     view  Lorg/apache/cassandra/config/ViewDefinition;
            0    8     1  builder  Lorg/apache/cassandra/db/Mutation$SimpleBuilder;
            2    8     2  oldView  Lorg/apache/cassandra/config/ViewDefinition;
    MethodParameters:
         Name  Flags
      view     
      builder  

  public static void announceTypeUpdate(org.apache.cassandra.db.marshal.UserType, boolean);
    descriptor: (Lorg/apache/cassandra/db/marshal/UserType;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.apache.cassandra.db.marshal.UserType updatedType
        start local 1 // boolean announceLocally
         0: .line 494
            getstatic org.apache.cassandra.service.MigrationManager.logger:Lorg/slf4j/Logger;
            ldc "Update type '{}.{}' to {}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* updatedType */
            getfield org.apache.cassandra.db.marshal.UserType.keyspace:Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* updatedType */
            invokevirtual org.apache.cassandra.db.marshal.UserType.getNameAsString:()Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 0 /* updatedType */
            aastore
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;[Ljava/lang/Object;)V
         1: .line 495
            aload 0 /* updatedType */
            iload 1 /* announceLocally */
            invokestatic org.apache.cassandra.service.MigrationManager.announceNewType:(Lorg/apache/cassandra/db/marshal/UserType;Z)V
         2: .line 496
            return
        end local 1 // boolean announceLocally
        end local 0 // org.apache.cassandra.db.marshal.UserType updatedType
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0      updatedType  Lorg/apache/cassandra/db/marshal/UserType;
            0    3     1  announceLocally  Z
    MethodParameters:
                 Name  Flags
      updatedType      
      announceLocally  

  public static void announceKeyspaceDrop(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String ksName
         0: .line 500
            aload 0 /* ksName */
            iconst_0
            invokestatic org.apache.cassandra.service.MigrationManager.announceKeyspaceDrop:(Ljava/lang/String;Z)V
         1: .line 501
            return
        end local 0 // java.lang.String ksName
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  ksName  Ljava/lang/String;
    Exceptions:
      throws org.apache.cassandra.exceptions.ConfigurationException
    MethodParameters:
        Name  Flags
      ksName  

  public static void announceKeyspaceDrop(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // java.lang.String ksName
        start local 1 // boolean announceLocally
         0: .line 505
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            aload 0 /* ksName */
            invokevirtual org.apache.cassandra.config.Schema.getKSMetaData:(Ljava/lang/String;)Lorg/apache/cassandra/schema/KeyspaceMetadata;
            astore 2 /* oldKsm */
        start local 2 // org.apache.cassandra.schema.KeyspaceMetadata oldKsm
         1: .line 506
            aload 2 /* oldKsm */
            ifnonnull 3
         2: .line 507
            new org.apache.cassandra.exceptions.ConfigurationException
            dup
            ldc "Cannot drop non existing keyspace '%s'."
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* ksName */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.ConfigurationException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 509
      StackMap locals: org.apache.cassandra.schema.KeyspaceMetadata
      StackMap stack:
            getstatic org.apache.cassandra.service.MigrationManager.logger:Lorg/slf4j/Logger;
            ldc "Drop Keyspace '{}'"
            aload 2 /* oldKsm */
            getfield org.apache.cassandra.schema.KeyspaceMetadata.name:Ljava/lang/String;
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 510
            aload 2 /* oldKsm */
            invokestatic org.apache.cassandra.utils.FBUtilities.timestampMicros:()J
            invokestatic org.apache.cassandra.schema.SchemaKeyspace.makeDropKeyspaceMutation:(Lorg/apache/cassandra/schema/KeyspaceMetadata;J)Lorg/apache/cassandra/db/Mutation$SimpleBuilder;
            iload 1 /* announceLocally */
            invokestatic org.apache.cassandra.service.MigrationManager.announce:(Lorg/apache/cassandra/db/Mutation$SimpleBuilder;Z)V
         5: .line 511
            return
        end local 2 // org.apache.cassandra.schema.KeyspaceMetadata oldKsm
        end local 1 // boolean announceLocally
        end local 0 // java.lang.String ksName
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    6     0           ksName  Ljava/lang/String;
            0    6     1  announceLocally  Z
            1    6     2           oldKsm  Lorg/apache/cassandra/schema/KeyspaceMetadata;
    Exceptions:
      throws org.apache.cassandra.exceptions.ConfigurationException
    MethodParameters:
                 Name  Flags
      ksName           
      announceLocally  

  public static void announceColumnFamilyDrop(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.String ksName
        start local 1 // java.lang.String cfName
         0: .line 515
            aload 0 /* ksName */
            aload 1 /* cfName */
            iconst_0
            invokestatic org.apache.cassandra.service.MigrationManager.announceColumnFamilyDrop:(Ljava/lang/String;Ljava/lang/String;Z)V
         1: .line 516
            return
        end local 1 // java.lang.String cfName
        end local 0 // java.lang.String ksName
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  ksName  Ljava/lang/String;
            0    2     1  cfName  Ljava/lang/String;
    Exceptions:
      throws org.apache.cassandra.exceptions.ConfigurationException
    MethodParameters:
        Name  Flags
      ksName  
      cfName  

  public static void announceColumnFamilyDrop(java.lang.String, java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // java.lang.String ksName
        start local 1 // java.lang.String cfName
        start local 2 // boolean announceLocally
         0: .line 520
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            aload 0 /* ksName */
            aload 1 /* cfName */
            invokevirtual org.apache.cassandra.config.Schema.getCFMetaData:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/config/CFMetaData;
            astore 3 /* oldCfm */
        start local 3 // org.apache.cassandra.config.CFMetaData oldCfm
         1: .line 521
            aload 3 /* oldCfm */
            ifnonnull 3
         2: .line 522
            new org.apache.cassandra.exceptions.ConfigurationException
            dup
            ldc "Cannot drop non existing table '%s' in keyspace '%s'."
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* cfName */
            aastore
            dup
            iconst_1
            aload 0 /* ksName */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.ConfigurationException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 523
      StackMap locals: org.apache.cassandra.config.CFMetaData
      StackMap stack:
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            aload 0 /* ksName */
            invokevirtual org.apache.cassandra.config.Schema.getKSMetaData:(Ljava/lang/String;)Lorg/apache/cassandra/schema/KeyspaceMetadata;
            astore 4 /* ksm */
        start local 4 // org.apache.cassandra.schema.KeyspaceMetadata ksm
         4: .line 525
            getstatic org.apache.cassandra.service.MigrationManager.logger:Lorg/slf4j/Logger;
            ldc "Drop table '{}/{}'"
            aload 3 /* oldCfm */
            getfield org.apache.cassandra.config.CFMetaData.ksName:Ljava/lang/String;
            aload 3 /* oldCfm */
            getfield org.apache.cassandra.config.CFMetaData.cfName:Ljava/lang/String;
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         5: .line 526
            aload 4 /* ksm */
            aload 3 /* oldCfm */
            invokestatic org.apache.cassandra.utils.FBUtilities.timestampMicros:()J
            invokestatic org.apache.cassandra.schema.SchemaKeyspace.makeDropTableMutation:(Lorg/apache/cassandra/schema/KeyspaceMetadata;Lorg/apache/cassandra/config/CFMetaData;J)Lorg/apache/cassandra/db/Mutation$SimpleBuilder;
            iload 2 /* announceLocally */
            invokestatic org.apache.cassandra.service.MigrationManager.announce:(Lorg/apache/cassandra/db/Mutation$SimpleBuilder;Z)V
         6: .line 527
            return
        end local 4 // org.apache.cassandra.schema.KeyspaceMetadata ksm
        end local 3 // org.apache.cassandra.config.CFMetaData oldCfm
        end local 2 // boolean announceLocally
        end local 1 // java.lang.String cfName
        end local 0 // java.lang.String ksName
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0           ksName  Ljava/lang/String;
            0    7     1           cfName  Ljava/lang/String;
            0    7     2  announceLocally  Z
            1    7     3           oldCfm  Lorg/apache/cassandra/config/CFMetaData;
            4    7     4              ksm  Lorg/apache/cassandra/schema/KeyspaceMetadata;
    Exceptions:
      throws org.apache.cassandra.exceptions.ConfigurationException
    MethodParameters:
                 Name  Flags
      ksName           
      cfName           
      announceLocally  

  public static void announceViewDrop(java.lang.String, java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // java.lang.String ksName
        start local 1 // java.lang.String viewName
        start local 2 // boolean announceLocally
         0: .line 531
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            aload 0 /* ksName */
            aload 1 /* viewName */
            invokevirtual org.apache.cassandra.config.Schema.getView:(Ljava/lang/String;Ljava/lang/String;)Lorg/apache/cassandra/config/ViewDefinition;
            astore 3 /* view */
        start local 3 // org.apache.cassandra.config.ViewDefinition view
         1: .line 532
            aload 3 /* view */
            ifnonnull 3
         2: .line 533
            new org.apache.cassandra.exceptions.ConfigurationException
            dup
            ldc "Cannot drop non existing materialized view '%s' in keyspace '%s'."
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* viewName */
            aastore
            dup
            iconst_1
            aload 0 /* ksName */
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial org.apache.cassandra.exceptions.ConfigurationException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 534
      StackMap locals: org.apache.cassandra.config.ViewDefinition
      StackMap stack:
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            aload 0 /* ksName */
            invokevirtual org.apache.cassandra.config.Schema.getKSMetaData:(Ljava/lang/String;)Lorg/apache/cassandra/schema/KeyspaceMetadata;
            astore 4 /* ksm */
        start local 4 // org.apache.cassandra.schema.KeyspaceMetadata ksm
         4: .line 536
            getstatic org.apache.cassandra.service.MigrationManager.logger:Lorg/slf4j/Logger;
            ldc "Drop table '{}/{}'"
            aload 3 /* view */
            getfield org.apache.cassandra.config.ViewDefinition.ksName:Ljava/lang/String;
            aload 3 /* view */
            getfield org.apache.cassandra.config.ViewDefinition.viewName:Ljava/lang/String;
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         5: .line 537
            aload 4 /* ksm */
            aload 3 /* view */
            invokestatic org.apache.cassandra.utils.FBUtilities.timestampMicros:()J
            invokestatic org.apache.cassandra.schema.SchemaKeyspace.makeDropViewMutation:(Lorg/apache/cassandra/schema/KeyspaceMetadata;Lorg/apache/cassandra/config/ViewDefinition;J)Lorg/apache/cassandra/db/Mutation$SimpleBuilder;
            iload 2 /* announceLocally */
            invokestatic org.apache.cassandra.service.MigrationManager.announce:(Lorg/apache/cassandra/db/Mutation$SimpleBuilder;Z)V
         6: .line 538
            return
        end local 4 // org.apache.cassandra.schema.KeyspaceMetadata ksm
        end local 3 // org.apache.cassandra.config.ViewDefinition view
        end local 2 // boolean announceLocally
        end local 1 // java.lang.String viewName
        end local 0 // java.lang.String ksName
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0           ksName  Ljava/lang/String;
            0    7     1         viewName  Ljava/lang/String;
            0    7     2  announceLocally  Z
            1    7     3             view  Lorg/apache/cassandra/config/ViewDefinition;
            4    7     4              ksm  Lorg/apache/cassandra/schema/KeyspaceMetadata;
    Exceptions:
      throws org.apache.cassandra.exceptions.ConfigurationException
    MethodParameters:
                 Name  Flags
      ksName           
      viewName         
      announceLocally  

  public static void announceTypeDrop(org.apache.cassandra.db.marshal.UserType);
    descriptor: (Lorg/apache/cassandra/db/marshal/UserType;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.apache.cassandra.db.marshal.UserType droppedType
         0: .line 542
            aload 0 /* droppedType */
            iconst_0
            invokestatic org.apache.cassandra.service.MigrationManager.announceTypeDrop:(Lorg/apache/cassandra/db/marshal/UserType;Z)V
         1: .line 543
            return
        end local 0 // org.apache.cassandra.db.marshal.UserType droppedType
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0  droppedType  Lorg/apache/cassandra/db/marshal/UserType;
    MethodParameters:
             Name  Flags
      droppedType  

  public static void announceTypeDrop(org.apache.cassandra.db.marshal.UserType, boolean);
    descriptor: (Lorg/apache/cassandra/db/marshal/UserType;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.cassandra.db.marshal.UserType droppedType
        start local 1 // boolean announceLocally
         0: .line 547
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            aload 0 /* droppedType */
            getfield org.apache.cassandra.db.marshal.UserType.keyspace:Ljava/lang/String;
            invokevirtual org.apache.cassandra.config.Schema.getKSMetaData:(Ljava/lang/String;)Lorg/apache/cassandra/schema/KeyspaceMetadata;
            astore 2 /* ksm */
        start local 2 // org.apache.cassandra.schema.KeyspaceMetadata ksm
         1: .line 548
            aload 2 /* ksm */
            aload 0 /* droppedType */
            invokestatic org.apache.cassandra.utils.FBUtilities.timestampMicros:()J
            invokestatic org.apache.cassandra.schema.SchemaKeyspace.dropTypeFromSchemaMutation:(Lorg/apache/cassandra/schema/KeyspaceMetadata;Lorg/apache/cassandra/db/marshal/UserType;J)Lorg/apache/cassandra/db/Mutation$SimpleBuilder;
            iload 1 /* announceLocally */
            invokestatic org.apache.cassandra.service.MigrationManager.announce:(Lorg/apache/cassandra/db/Mutation$SimpleBuilder;Z)V
         2: .line 549
            return
        end local 2 // org.apache.cassandra.schema.KeyspaceMetadata ksm
        end local 1 // boolean announceLocally
        end local 0 // org.apache.cassandra.db.marshal.UserType droppedType
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0      droppedType  Lorg/apache/cassandra/db/marshal/UserType;
            0    3     1  announceLocally  Z
            1    3     2              ksm  Lorg/apache/cassandra/schema/KeyspaceMetadata;
    MethodParameters:
                 Name  Flags
      droppedType      
      announceLocally  

  public static void announceFunctionDrop(org.apache.cassandra.cql3.functions.UDFunction, boolean);
    descriptor: (Lorg/apache/cassandra/cql3/functions/UDFunction;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.cassandra.cql3.functions.UDFunction udf
        start local 1 // boolean announceLocally
         0: .line 553
            getstatic org.apache.cassandra.service.MigrationManager.logger:Lorg/slf4j/Logger;
            ldc "Drop scalar function overload '{}' args '{}'"
            aload 0 /* udf */
            invokevirtual org.apache.cassandra.cql3.functions.UDFunction.name:()Lorg/apache/cassandra/cql3/functions/FunctionName;
            aload 0 /* udf */
            invokevirtual org.apache.cassandra.cql3.functions.UDFunction.argTypes:()Ljava/util/List;
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         1: .line 554
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            aload 0 /* udf */
            invokevirtual org.apache.cassandra.cql3.functions.UDFunction.name:()Lorg/apache/cassandra/cql3/functions/FunctionName;
            getfield org.apache.cassandra.cql3.functions.FunctionName.keyspace:Ljava/lang/String;
            invokevirtual org.apache.cassandra.config.Schema.getKSMetaData:(Ljava/lang/String;)Lorg/apache/cassandra/schema/KeyspaceMetadata;
            astore 2 /* ksm */
        start local 2 // org.apache.cassandra.schema.KeyspaceMetadata ksm
         2: .line 555
            aload 2 /* ksm */
            aload 0 /* udf */
            invokestatic org.apache.cassandra.utils.FBUtilities.timestampMicros:()J
            invokestatic org.apache.cassandra.schema.SchemaKeyspace.makeDropFunctionMutation:(Lorg/apache/cassandra/schema/KeyspaceMetadata;Lorg/apache/cassandra/cql3/functions/UDFunction;J)Lorg/apache/cassandra/db/Mutation$SimpleBuilder;
            iload 1 /* announceLocally */
            invokestatic org.apache.cassandra.service.MigrationManager.announce:(Lorg/apache/cassandra/db/Mutation$SimpleBuilder;Z)V
         3: .line 556
            return
        end local 2 // org.apache.cassandra.schema.KeyspaceMetadata ksm
        end local 1 // boolean announceLocally
        end local 0 // org.apache.cassandra.cql3.functions.UDFunction udf
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0              udf  Lorg/apache/cassandra/cql3/functions/UDFunction;
            0    4     1  announceLocally  Z
            2    4     2              ksm  Lorg/apache/cassandra/schema/KeyspaceMetadata;
    MethodParameters:
                 Name  Flags
      udf              
      announceLocally  

  public static void announceAggregateDrop(org.apache.cassandra.cql3.functions.UDAggregate, boolean);
    descriptor: (Lorg/apache/cassandra/cql3/functions/UDAggregate;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.apache.cassandra.cql3.functions.UDAggregate udf
        start local 1 // boolean announceLocally
         0: .line 560
            getstatic org.apache.cassandra.service.MigrationManager.logger:Lorg/slf4j/Logger;
            ldc "Drop aggregate function overload '{}' args '{}'"
            aload 0 /* udf */
            invokevirtual org.apache.cassandra.cql3.functions.UDAggregate.name:()Lorg/apache/cassandra/cql3/functions/FunctionName;
            aload 0 /* udf */
            invokevirtual org.apache.cassandra.cql3.functions.UDAggregate.argTypes:()Ljava/util/List;
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         1: .line 561
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            aload 0 /* udf */
            invokevirtual org.apache.cassandra.cql3.functions.UDAggregate.name:()Lorg/apache/cassandra/cql3/functions/FunctionName;
            getfield org.apache.cassandra.cql3.functions.FunctionName.keyspace:Ljava/lang/String;
            invokevirtual org.apache.cassandra.config.Schema.getKSMetaData:(Ljava/lang/String;)Lorg/apache/cassandra/schema/KeyspaceMetadata;
            astore 2 /* ksm */
        start local 2 // org.apache.cassandra.schema.KeyspaceMetadata ksm
         2: .line 562
            aload 2 /* ksm */
            aload 0 /* udf */
            invokestatic org.apache.cassandra.utils.FBUtilities.timestampMicros:()J
            invokestatic org.apache.cassandra.schema.SchemaKeyspace.makeDropAggregateMutation:(Lorg/apache/cassandra/schema/KeyspaceMetadata;Lorg/apache/cassandra/cql3/functions/UDAggregate;J)Lorg/apache/cassandra/db/Mutation$SimpleBuilder;
            iload 1 /* announceLocally */
            invokestatic org.apache.cassandra.service.MigrationManager.announce:(Lorg/apache/cassandra/db/Mutation$SimpleBuilder;Z)V
         3: .line 563
            return
        end local 2 // org.apache.cassandra.schema.KeyspaceMetadata ksm
        end local 1 // boolean announceLocally
        end local 0 // org.apache.cassandra.cql3.functions.UDAggregate udf
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    4     0              udf  Lorg/apache/cassandra/cql3/functions/UDAggregate;
            0    4     1  announceLocally  Z
            2    4     2              ksm  Lorg/apache/cassandra/schema/KeyspaceMetadata;
    MethodParameters:
                 Name  Flags
      udf              
      announceLocally  

  private static void announce(org.apache.cassandra.db.Mutation$SimpleBuilder, boolean);
    descriptor: (Lorg/apache/cassandra/db/Mutation$SimpleBuilder;Z)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=3, args_size=2
        start local 0 // org.apache.cassandra.db.Mutation$SimpleBuilder schema
        start local 1 // boolean announceLocally
         0: .line 571
            aload 0 /* schema */
            invokeinterface org.apache.cassandra.db.Mutation$SimpleBuilder.build:()Lorg/apache/cassandra/db/Mutation;
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            astore 2 /* mutations */
        start local 2 // java.util.List mutations
         1: .line 573
            iload 1 /* announceLocally */
            ifeq 3
         2: .line 574
            aload 2 /* mutations */
            invokestatic org.apache.cassandra.schema.SchemaKeyspace.mergeSchema:(Ljava/util/Collection;)V
            goto 4
         3: .line 576
      StackMap locals: java.util.List
      StackMap stack:
            aload 2 /* mutations */
            invokestatic org.apache.cassandra.service.MigrationManager.announce:(Ljava/util/Collection;)Ljava/util/concurrent/Future;
            invokestatic org.apache.cassandra.utils.FBUtilities.waitOnFuture:(Ljava/util/concurrent/Future;)Ljava/lang/Object;
            pop
         4: .line 577
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.List mutations
        end local 1 // boolean announceLocally
        end local 0 // org.apache.cassandra.db.Mutation$SimpleBuilder schema
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0           schema  Lorg/apache/cassandra/db/Mutation$SimpleBuilder;
            0    5     1  announceLocally  Z
            1    5     2        mutations  Ljava/util/List<Lorg/apache/cassandra/db/Mutation;>;
    MethodParameters:
                 Name  Flags
      schema           
      announceLocally  

  private static void pushSchemaMutation(java.net.InetAddress, java.util.Collection<org.apache.cassandra.db.Mutation>);
    descriptor: (Ljava/net/InetAddress;Ljava/util/Collection;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.net.InetAddress endpoint
        start local 1 // java.util.Collection schema
         0: .line 581
            new org.apache.cassandra.net.MessageOut
            dup
            getstatic org.apache.cassandra.net.MessagingService$Verb.DEFINITIONS_UPDATE:Lorg/apache/cassandra/net/MessagingService$Verb;
         1: .line 582
            aload 1 /* schema */
         2: .line 583
            getstatic org.apache.cassandra.service.MigrationManager$MigrationsSerializer.instance:Lorg/apache/cassandra/service/MigrationManager$MigrationsSerializer;
         3: .line 581
            invokespecial org.apache.cassandra.net.MessageOut.<init>:(Lorg/apache/cassandra/net/MessagingService$Verb;Ljava/lang/Object;Lorg/apache/cassandra/io/IVersionedSerializer;)V
            astore 2 /* msg */
        start local 2 // org.apache.cassandra.net.MessageOut msg
         4: .line 584
            invokestatic org.apache.cassandra.net.MessagingService.instance:()Lorg/apache/cassandra/net/MessagingService;
            aload 2 /* msg */
            aload 0 /* endpoint */
            invokevirtual org.apache.cassandra.net.MessagingService.sendOneWay:(Lorg/apache/cassandra/net/MessageOut;Ljava/net/InetAddress;)V
         5: .line 585
            return
        end local 2 // org.apache.cassandra.net.MessageOut msg
        end local 1 // java.util.Collection schema
        end local 0 // java.net.InetAddress endpoint
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0  endpoint  Ljava/net/InetAddress;
            0    6     1    schema  Ljava/util/Collection<Lorg/apache/cassandra/db/Mutation;>;
            4    6     2       msg  Lorg/apache/cassandra/net/MessageOut<Ljava/util/Collection<Lorg/apache/cassandra/db/Mutation;>;>;
    Signature: (Ljava/net/InetAddress;Ljava/util/Collection<Lorg/apache/cassandra/db/Mutation;>;)V
    MethodParameters:
          Name  Flags
      endpoint  
      schema    

  private static java.util.concurrent.Future<?> announce(java.util.Collection<org.apache.cassandra.db.Mutation>);
    descriptor: (Ljava/util/Collection;)Ljava/util/concurrent/Future;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.util.Collection schema
         0: .line 590
            getstatic org.apache.cassandra.concurrent.Stage.MIGRATION:Lorg/apache/cassandra/concurrent/Stage;
            invokestatic org.apache.cassandra.concurrent.StageManager.getStage:(Lorg/apache/cassandra/concurrent/Stage;)Lorg/apache/cassandra/concurrent/LocalAwareExecutorService;
            new org.apache.cassandra.service.MigrationManager$1
            dup
            aload 0 /* schema */
            invokespecial org.apache.cassandra.service.MigrationManager$1.<init>:(Ljava/util/Collection;)V
            invokeinterface org.apache.cassandra.concurrent.LocalAwareExecutorService.submit:(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
            astore 1 /* f */
        start local 1 // java.util.concurrent.Future f
         1: .line 598
            getstatic org.apache.cassandra.gms.Gossiper.instance:Lorg/apache/cassandra/gms/Gossiper;
            invokevirtual org.apache.cassandra.gms.Gossiper.getLiveMembers:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 7
      StackMap locals: java.util.Collection java.util.concurrent.Future top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.net.InetAddress
            astore 2 /* endpoint */
        start local 2 // java.net.InetAddress endpoint
         3: .line 601
            aload 2 /* endpoint */
            invokestatic org.apache.cassandra.utils.FBUtilities.getBroadcastAddress:()Ljava/net/InetAddress;
            invokevirtual java.net.InetAddress.equals:(Ljava/lang/Object;)Z
            ifne 7
         4: .line 602
            invokestatic org.apache.cassandra.net.MessagingService.instance:()Lorg/apache/cassandra/net/MessagingService;
            aload 2 /* endpoint */
            invokevirtual org.apache.cassandra.net.MessagingService.knowsVersion:(Ljava/net/InetAddress;)Z
            ifeq 7
         5: .line 603
            invokestatic org.apache.cassandra.net.MessagingService.instance:()Lorg/apache/cassandra/net/MessagingService;
            aload 2 /* endpoint */
            invokevirtual org.apache.cassandra.net.MessagingService.getRawVersion:(Ljava/net/InetAddress;)I
            invokestatic org.apache.cassandra.service.MigrationManager.is30Compatible:(I)Z
            ifeq 7
         6: .line 604
            aload 2 /* endpoint */
            aload 0 /* schema */
            invokestatic org.apache.cassandra.service.MigrationManager.pushSchemaMutation:(Ljava/net/InetAddress;Ljava/util/Collection;)V
        end local 2 // java.net.InetAddress endpoint
         7: .line 598
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         8: .line 607
            aload 1 /* f */
            areturn
        end local 1 // java.util.concurrent.Future f
        end local 0 // java.util.Collection schema
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0    schema  Ljava/util/Collection<Lorg/apache/cassandra/db/Mutation;>;
            1    9     1         f  Ljava/util/concurrent/Future<*>;
            3    7     2  endpoint  Ljava/net/InetAddress;
    Signature: (Ljava/util/Collection<Lorg/apache/cassandra/db/Mutation;>;)Ljava/util/concurrent/Future<*>;
    MethodParameters:
        Name  Flags
      schema  final

  public static void passiveAnnounce(java.util.UUID, boolean);
    descriptor: (Ljava/util/UUID;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.UUID version
        start local 1 // boolean compatible
         0: .line 619
            getstatic org.apache.cassandra.gms.Gossiper.instance:Lorg/apache/cassandra/gms/Gossiper;
            getstatic org.apache.cassandra.gms.ApplicationState.SCHEMA:Lorg/apache/cassandra/gms/ApplicationState;
            getstatic org.apache.cassandra.service.StorageService.instance:Lorg/apache/cassandra/service/StorageService;
            getfield org.apache.cassandra.service.StorageService.valueFactory:Lorg/apache/cassandra/gms/VersionedValue$VersionedValueFactory;
            aload 0 /* version */
            invokevirtual org.apache.cassandra.gms.VersionedValue$VersionedValueFactory.schema:(Ljava/util/UUID;)Lorg/apache/cassandra/gms/VersionedValue;
            invokevirtual org.apache.cassandra.gms.Gossiper.addLocalApplicationState:(Lorg/apache/cassandra/gms/ApplicationState;Lorg/apache/cassandra/gms/VersionedValue;)V
         1: .line 620
            getstatic org.apache.cassandra.service.MigrationManager.logger:Lorg/slf4j/Logger;
            ldc "Gossiping my {} schema version {}"
         2: .line 621
            iload 1 /* compatible */
            ifeq 3
            ldc "3.0 compatible"
            goto 4
      StackMap locals: java.util.UUID int
      StackMap stack: org.slf4j.Logger java.lang.String
         3: ldc "3.11"
         4: .line 622
      StackMap locals: java.util.UUID int
      StackMap stack: org.slf4j.Logger java.lang.String java.lang.String
            aload 0 /* version */
            invokestatic org.apache.cassandra.config.Schema.schemaVersionToString:(Ljava/util/UUID;)Ljava/lang/String;
         5: .line 620
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 623
            return
        end local 1 // boolean compatible
        end local 0 // java.util.UUID version
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0     version  Ljava/util/UUID;
            0    7     1  compatible  Z
    MethodParameters:
            Name  Flags
      version     
      compatible  

  public static void resetLocalSchema();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=0
         0: .line 631
            getstatic org.apache.cassandra.service.MigrationManager.logger:Lorg/slf4j/Logger;
            ldc "Starting local schema reset..."
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;)V
         1: .line 633
            getstatic org.apache.cassandra.service.MigrationManager.logger:Lorg/slf4j/Logger;
            ldc "Truncating schema tables..."
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;)V
         2: .line 635
            invokestatic org.apache.cassandra.schema.SchemaKeyspace.truncate:()V
         3: .line 637
            getstatic org.apache.cassandra.service.MigrationManager.logger:Lorg/slf4j/Logger;
            ldc "Clearing local schema keyspace definitions..."
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;)V
         4: .line 639
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            invokevirtual org.apache.cassandra.config.Schema.clear:()V
         5: .line 641
            getstatic org.apache.cassandra.gms.Gossiper.instance:Lorg/apache/cassandra/gms/Gossiper;
            invokevirtual org.apache.cassandra.gms.Gossiper.getLiveMembers:()Ljava/util/Set;
            astore 0 /* liveEndpoints */
        start local 0 // java.util.Set liveEndpoints
         6: .line 642
            aload 0 /* liveEndpoints */
            invokestatic org.apache.cassandra.utils.FBUtilities.getBroadcastAddress:()Ljava/net/InetAddress;
            invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
            pop
         7: .line 645
            aload 0 /* liveEndpoints */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 2
            goto 13
      StackMap locals: java.util.Set top java.util.Iterator
      StackMap stack:
         8: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.net.InetAddress
            astore 1 /* node */
        start local 1 // java.net.InetAddress node
         9: .line 647
            aload 1 /* node */
            invokestatic org.apache.cassandra.service.MigrationManager.shouldPullSchemaFrom:(Ljava/net/InetAddress;)Z
            ifeq 13
        10: .line 649
            getstatic org.apache.cassandra.service.MigrationManager.logger:Lorg/slf4j/Logger;
            ldc "Requesting schema from {}"
            aload 1 /* node */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
        11: .line 650
            aload 1 /* node */
            invokestatic org.apache.cassandra.service.MigrationManager.submitMigrationTask:(Ljava/net/InetAddress;)Ljava/util/concurrent/Future;
            invokestatic org.apache.cassandra.utils.FBUtilities.waitOnFuture:(Ljava/util/concurrent/Future;)Ljava/lang/Object;
            pop
        12: .line 651
            goto 14
        end local 1 // java.net.InetAddress node
        13: .line 645
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        14: .line 655
      StackMap locals: java.util.Set
      StackMap stack:
            getstatic org.apache.cassandra.service.MigrationManager.logger:Lorg/slf4j/Logger;
            ldc "Local schema reset is complete."
            invokeinterface org.slf4j.Logger.info:(Ljava/lang/String;)V
        15: .line 656
            return
        end local 0 // java.util.Set liveEndpoints
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            6   16     0  liveEndpoints  Ljava/util/Set<Ljava/net/InetAddress;>;
            9   13     1           node  Ljava/net/InetAddress;

  private static void lambda$0(java.net.InetAddress);
    descriptor: (Ljava/net/InetAddress;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=6, locals=2, args_size=1
         0: .line 137
            getstatic org.apache.cassandra.gms.Gossiper.instance:Lorg/apache/cassandra/gms/Gossiper;
            aload 0
            invokevirtual org.apache.cassandra.gms.Gossiper.getSchemaVersion:(Ljava/net/InetAddress;)Ljava/util/UUID;
            astore 1 /* epSchemaVersion */
        start local 1 // java.util.UUID epSchemaVersion
         1: .line 138
            aload 1 /* epSchemaVersion */
            ifnonnull 4
         2: .line 140
            getstatic org.apache.cassandra.service.MigrationManager.logger:Lorg/slf4j/Logger;
            ldc "epState vanished for {}, not submitting migration task"
            aload 0
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 141
            return
         4: .line 143
      StackMap locals: java.util.UUID
      StackMap stack:
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            aload 1 /* epSchemaVersion */
            invokevirtual org.apache.cassandra.config.Schema.isSameVersion:(Ljava/util/UUID;)Z
            ifeq 7
         5: .line 145
            getstatic org.apache.cassandra.service.MigrationManager.logger:Lorg/slf4j/Logger;
            ldc "Not submitting migration task for {} because our versions match ({})"
            aload 0
            aload 1 /* epSchemaVersion */
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
         6: .line 146
            return
         7: .line 148
      StackMap locals:
      StackMap stack:
            getstatic org.apache.cassandra.service.MigrationManager.logger:Lorg/slf4j/Logger;
            ldc "submitting migration task for {}, schema version mismatch: local/real={}, local/compatible={}, remote={}"
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
         8: .line 149
            aload 0
            aastore
            dup
            iconst_1
         9: .line 150
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            invokevirtual org.apache.cassandra.config.Schema.getRealVersion:()Ljava/util/UUID;
            invokestatic org.apache.cassandra.config.Schema.schemaVersionToString:(Ljava/util/UUID;)Ljava/lang/String;
            aastore
            dup
            iconst_2
        10: .line 151
            getstatic org.apache.cassandra.config.Schema.instance:Lorg/apache/cassandra/config/Schema;
            invokevirtual org.apache.cassandra.config.Schema.getAltVersion:()Ljava/util/UUID;
            invokestatic org.apache.cassandra.config.Schema.schemaVersionToString:(Ljava/util/UUID;)Ljava/lang/String;
            aastore
            dup
            iconst_3
        11: .line 152
            aload 1 /* epSchemaVersion */
            invokestatic org.apache.cassandra.config.Schema.schemaVersionToString:(Ljava/util/UUID;)Ljava/lang/String;
            aastore
        12: .line 148
            invokeinterface org.slf4j.Logger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        13: .line 153
            aload 0
            invokestatic org.apache.cassandra.service.MigrationManager.submitMigrationTask:(Ljava/net/InetAddress;)Ljava/util/concurrent/Future;
            pop
        end local 1 // java.util.UUID epSchemaVersion
        14: .line 154
            return
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            1   14     1  epSchemaVersion  Ljava/util/UUID;

  private static void lambda$1(org.apache.cassandra.db.marshal.UserType, org.apache.cassandra.cql3.functions.UDFunction);
    descriptor: (Lorg/apache/cassandra/db/marshal/UserType;Lorg/apache/cassandra/cql3/functions/UDFunction;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 1 // org.apache.cassandra.cql3.functions.UDFunction f
         0: .line 269
            aload 1 /* f */
            aload 0
            getfield org.apache.cassandra.db.marshal.UserType.keyspace:Ljava/lang/String;
            aload 0
            invokevirtual org.apache.cassandra.db.marshal.UserType.getNameAsString:()Ljava/lang/String;
            invokevirtual org.apache.cassandra.cql3.functions.UDFunction.userTypeUpdated:(Ljava/lang/String;Ljava/lang/String;)V
            return
        end local 1 // org.apache.cassandra.cql3.functions.UDFunction f
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     f  Lorg/apache/cassandra/cql3/functions/UDFunction;

  private static void lambda$2(org.apache.cassandra.db.Mutation$SimpleBuilder, org.apache.cassandra.config.ViewDefinition);
    descriptor: (Lorg/apache/cassandra/db/Mutation$SimpleBuilder;Lorg/apache/cassandra/config/ViewDefinition;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // org.apache.cassandra.config.ViewDefinition view
         0: .line 464
            aload 1 /* view */
            aload 0
            invokestatic org.apache.cassandra.service.MigrationManager.addViewUpdateToMutationBuilder:(Lorg/apache/cassandra/config/ViewDefinition;Lorg/apache/cassandra/db/Mutation$SimpleBuilder;)V
            return
        end local 1 // org.apache.cassandra.config.ViewDefinition view
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1  view  Lorg/apache/cassandra/config/ViewDefinition;
}
SourceFile: "MigrationManager.java"
NestMembers:
  org.apache.cassandra.service.MigrationManager$1  org.apache.cassandra.service.MigrationManager$MigrationsSerializer
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract SimpleBuilder = org.apache.cassandra.db.Mutation$SimpleBuilder of org.apache.cassandra.db.Mutation
  public VersionedValueFactory = org.apache.cassandra.gms.VersionedValue$VersionedValueFactory of org.apache.cassandra.gms.VersionedValue
  public Verb = org.apache.cassandra.net.MessagingService$Verb of org.apache.cassandra.net.MessagingService
  org.apache.cassandra.service.MigrationManager$1
  public MigrationsSerializer = org.apache.cassandra.service.MigrationManager$MigrationsSerializer of org.apache.cassandra.service.MigrationManager