public interface com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata extends com.datastax.oss.driver.api.core.metadata.schema.Describable
  minor version: 0
  major version: 59
  flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
  this_class: com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata
  super_class: java.lang.Object
{
  public abstract com.datastax.oss.driver.api.core.CqlIdentifier getName();
    descriptor: ()Lcom/datastax/oss/driver/api/core/CqlIdentifier;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public abstract boolean isDurableWrites();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract boolean isVirtual();
    descriptor: ()Z
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public abstract java.util.Map<java.lang.String, java.lang.String> getReplication();
    descriptor: ()Ljava/util/Map;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public abstract java.util.Map<com.datastax.oss.driver.api.core.CqlIdentifier, com.datastax.oss.driver.api.core.metadata.schema.TableMetadata> getTables();
    descriptor: ()Ljava/util/Map;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Map<Lcom/datastax/oss/driver/api/core/CqlIdentifier;Lcom/datastax/oss/driver/api/core/metadata/schema/TableMetadata;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public java.util.Optional<com.datastax.oss.driver.api.core.metadata.schema.TableMetadata> getTable(com.datastax.oss.driver.api.core.CqlIdentifier);
    descriptor: (Lcom/datastax/oss/driver/api/core/CqlIdentifier;)Ljava/util/Optional;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
        start local 1 // com.datastax.oss.driver.api.core.CqlIdentifier tableId
         0: .line 50
            aload 0 /* this */
            invokeinterface com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata.getTables:()Ljava/util/Map;
            aload 1 /* tableId */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.datastax.oss.driver.api.core.metadata.schema.TableMetadata
            invokestatic java.util.Optional.ofNullable:(Ljava/lang/Object;)Ljava/util/Optional;
            areturn
        end local 1 // com.datastax.oss.driver.api.core.CqlIdentifier tableId
        end local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/datastax/oss/driver/api/core/metadata/schema/KeyspaceMetadata;
            0    1     1  tableId  Lcom/datastax/oss/driver/api/core/CqlIdentifier;
    Signature: (Lcom/datastax/oss/driver/api/core/CqlIdentifier;)Ljava/util/Optional<Lcom/datastax/oss/driver/api/core/metadata/schema/TableMetadata;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
         Name  Flags
      tableId  

  public java.util.Optional<com.datastax.oss.driver.api.core.metadata.schema.TableMetadata> getTable(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Optional;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
        start local 1 // java.lang.String tableName
         0: .line 56
            aload 0 /* this */
            aload 1 /* tableName */
            invokestatic com.datastax.oss.driver.api.core.CqlIdentifier.fromCql:(Ljava/lang/String;)Lcom/datastax/oss/driver/api/core/CqlIdentifier;
            invokeinterface com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata.getTable:(Lcom/datastax/oss/driver/api/core/CqlIdentifier;)Ljava/util/Optional;
            areturn
        end local 1 // java.lang.String tableName
        end local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lcom/datastax/oss/driver/api/core/metadata/schema/KeyspaceMetadata;
            0    1     1  tableName  Ljava/lang/String;
    Signature: (Ljava/lang/String;)Ljava/util/Optional<Lcom/datastax/oss/driver/api/core/metadata/schema/TableMetadata;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
           Name  Flags
      tableName  

  public abstract java.util.Map<com.datastax.oss.driver.api.core.CqlIdentifier, com.datastax.oss.driver.api.core.metadata.schema.ViewMetadata> getViews();
    descriptor: ()Ljava/util/Map;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Map<Lcom/datastax/oss/driver/api/core/CqlIdentifier;Lcom/datastax/oss/driver/api/core/metadata/schema/ViewMetadata;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public java.util.Map<com.datastax.oss.driver.api.core.CqlIdentifier, com.datastax.oss.driver.api.core.metadata.schema.ViewMetadata> getViewsOnTable(com.datastax.oss.driver.api.core.CqlIdentifier);
    descriptor: (Lcom/datastax/oss/driver/api/core/CqlIdentifier;)Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
        start local 1 // com.datastax.oss.driver.api.core.CqlIdentifier tableId
         0: .line 65
            invokestatic com.datastax.oss.driver.shaded.guava.common.collect.ImmutableMap.builder:()Lcom/datastax/oss/driver/shaded/guava/common/collect/ImmutableMap$Builder;
            astore 2 /* builder */
        start local 2 // com.datastax.oss.driver.shaded.guava.common.collect.ImmutableMap$Builder builder
         1: .line 66
            aload 0 /* this */
            invokeinterface com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata.getViews:()Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 5
      StackMap locals: com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata com.datastax.oss.driver.api.core.CqlIdentifier com.datastax.oss.driver.shaded.guava.common.collect.ImmutableMap$Builder top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.datastax.oss.driver.api.core.metadata.schema.ViewMetadata
            astore 3 /* view */
        start local 3 // com.datastax.oss.driver.api.core.metadata.schema.ViewMetadata view
         3: .line 67
            aload 3 /* view */
            invokeinterface com.datastax.oss.driver.api.core.metadata.schema.ViewMetadata.getBaseTable:()Lcom/datastax/oss/driver/api/core/CqlIdentifier;
            aload 1 /* tableId */
            invokevirtual com.datastax.oss.driver.api.core.CqlIdentifier.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 68
            aload 2 /* builder */
            aload 3 /* view */
            invokeinterface com.datastax.oss.driver.api.core.metadata.schema.ViewMetadata.getName:()Lcom/datastax/oss/driver/api/core/CqlIdentifier;
            aload 3 /* view */
            invokevirtual com.datastax.oss.driver.shaded.guava.common.collect.ImmutableMap$Builder.put:(Ljava/lang/Object;Ljava/lang/Object;)Lcom/datastax/oss/driver/shaded/guava/common/collect/ImmutableMap$Builder;
            pop
        end local 3 // com.datastax.oss.driver.api.core.metadata.schema.ViewMetadata view
         5: .line 66
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         6: .line 71
            aload 2 /* builder */
            invokevirtual com.datastax.oss.driver.shaded.guava.common.collect.ImmutableMap$Builder.build:()Lcom/datastax/oss/driver/shaded/guava/common/collect/ImmutableMap;
            areturn
        end local 2 // com.datastax.oss.driver.shaded.guava.common.collect.ImmutableMap$Builder builder
        end local 1 // com.datastax.oss.driver.api.core.CqlIdentifier tableId
        end local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0     this  Lcom/datastax/oss/driver/api/core/metadata/schema/KeyspaceMetadata;
            0    7     1  tableId  Lcom/datastax/oss/driver/api/core/CqlIdentifier;
            1    7     2  builder  Lcom/datastax/oss/driver/shaded/guava/common/collect/ImmutableMap$Builder<Lcom/datastax/oss/driver/api/core/CqlIdentifier;Lcom/datastax/oss/driver/api/core/metadata/schema/ViewMetadata;>;
            3    5     3     view  Lcom/datastax/oss/driver/api/core/metadata/schema/ViewMetadata;
    Signature: (Lcom/datastax/oss/driver/api/core/CqlIdentifier;)Ljava/util/Map<Lcom/datastax/oss/driver/api/core/CqlIdentifier;Lcom/datastax/oss/driver/api/core/metadata/schema/ViewMetadata;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
         Name  Flags
      tableId  

  public java.util.Optional<com.datastax.oss.driver.api.core.metadata.schema.ViewMetadata> getView(com.datastax.oss.driver.api.core.CqlIdentifier);
    descriptor: (Lcom/datastax/oss/driver/api/core/CqlIdentifier;)Ljava/util/Optional;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
        start local 1 // com.datastax.oss.driver.api.core.CqlIdentifier viewId
         0: .line 76
            aload 0 /* this */
            invokeinterface com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata.getViews:()Ljava/util/Map;
            aload 1 /* viewId */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.datastax.oss.driver.api.core.metadata.schema.ViewMetadata
            invokestatic java.util.Optional.ofNullable:(Ljava/lang/Object;)Ljava/util/Optional;
            areturn
        end local 1 // com.datastax.oss.driver.api.core.CqlIdentifier viewId
        end local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/datastax/oss/driver/api/core/metadata/schema/KeyspaceMetadata;
            0    1     1  viewId  Lcom/datastax/oss/driver/api/core/CqlIdentifier;
    Signature: (Lcom/datastax/oss/driver/api/core/CqlIdentifier;)Ljava/util/Optional<Lcom/datastax/oss/driver/api/core/metadata/schema/ViewMetadata;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
        Name  Flags
      viewId  

  public java.util.Optional<com.datastax.oss.driver.api.core.metadata.schema.ViewMetadata> getView(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Optional;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
        start local 1 // java.lang.String viewName
         0: .line 82
            aload 0 /* this */
            aload 1 /* viewName */
            invokestatic com.datastax.oss.driver.api.core.CqlIdentifier.fromCql:(Ljava/lang/String;)Lcom/datastax/oss/driver/api/core/CqlIdentifier;
            invokeinterface com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata.getView:(Lcom/datastax/oss/driver/api/core/CqlIdentifier;)Ljava/util/Optional;
            areturn
        end local 1 // java.lang.String viewName
        end local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/datastax/oss/driver/api/core/metadata/schema/KeyspaceMetadata;
            0    1     1  viewName  Ljava/lang/String;
    Signature: (Ljava/lang/String;)Ljava/util/Optional<Lcom/datastax/oss/driver/api/core/metadata/schema/ViewMetadata;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
          Name  Flags
      viewName  

  public abstract java.util.Map<com.datastax.oss.driver.api.core.CqlIdentifier, com.datastax.oss.driver.api.core.type.UserDefinedType> getUserDefinedTypes();
    descriptor: ()Ljava/util/Map;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Map<Lcom/datastax/oss/driver/api/core/CqlIdentifier;Lcom/datastax/oss/driver/api/core/type/UserDefinedType;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public java.util.Optional<com.datastax.oss.driver.api.core.type.UserDefinedType> getUserDefinedType(com.datastax.oss.driver.api.core.CqlIdentifier);
    descriptor: (Lcom/datastax/oss/driver/api/core/CqlIdentifier;)Ljava/util/Optional;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
        start local 1 // com.datastax.oss.driver.api.core.CqlIdentifier typeId
         0: .line 90
            aload 0 /* this */
            invokeinterface com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata.getUserDefinedTypes:()Ljava/util/Map;
            aload 1 /* typeId */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.datastax.oss.driver.api.core.type.UserDefinedType
            invokestatic java.util.Optional.ofNullable:(Ljava/lang/Object;)Ljava/util/Optional;
            areturn
        end local 1 // com.datastax.oss.driver.api.core.CqlIdentifier typeId
        end local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/datastax/oss/driver/api/core/metadata/schema/KeyspaceMetadata;
            0    1     1  typeId  Lcom/datastax/oss/driver/api/core/CqlIdentifier;
    Signature: (Lcom/datastax/oss/driver/api/core/CqlIdentifier;)Ljava/util/Optional<Lcom/datastax/oss/driver/api/core/type/UserDefinedType;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
        Name  Flags
      typeId  

  public java.util.Optional<com.datastax.oss.driver.api.core.type.UserDefinedType> getUserDefinedType(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Optional;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
        start local 1 // java.lang.String typeName
         0: .line 99
            aload 0 /* this */
            aload 1 /* typeName */
            invokestatic com.datastax.oss.driver.api.core.CqlIdentifier.fromCql:(Ljava/lang/String;)Lcom/datastax/oss/driver/api/core/CqlIdentifier;
            invokeinterface com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata.getUserDefinedType:(Lcom/datastax/oss/driver/api/core/CqlIdentifier;)Ljava/util/Optional;
            areturn
        end local 1 // java.lang.String typeName
        end local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/datastax/oss/driver/api/core/metadata/schema/KeyspaceMetadata;
            0    1     1  typeName  Ljava/lang/String;
    Signature: (Ljava/lang/String;)Ljava/util/Optional<Lcom/datastax/oss/driver/api/core/type/UserDefinedType;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
          Name  Flags
      typeName  

  public abstract java.util.Map<com.datastax.oss.driver.api.core.metadata.schema.FunctionSignature, com.datastax.oss.driver.api.core.metadata.schema.FunctionMetadata> getFunctions();
    descriptor: ()Ljava/util/Map;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Map<Lcom/datastax/oss/driver/api/core/metadata/schema/FunctionSignature;Lcom/datastax/oss/driver/api/core/metadata/schema/FunctionMetadata;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public java.util.Optional<com.datastax.oss.driver.api.core.metadata.schema.FunctionMetadata> getFunction(com.datastax.oss.driver.api.core.metadata.schema.FunctionSignature);
    descriptor: (Lcom/datastax/oss/driver/api/core/metadata/schema/FunctionSignature;)Ljava/util/Optional;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
        start local 1 // com.datastax.oss.driver.api.core.metadata.schema.FunctionSignature functionSignature
         0: .line 107
            aload 0 /* this */
            invokeinterface com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata.getFunctions:()Ljava/util/Map;
            aload 1 /* functionSignature */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.datastax.oss.driver.api.core.metadata.schema.FunctionMetadata
            invokestatic java.util.Optional.ofNullable:(Ljava/lang/Object;)Ljava/util/Optional;
            areturn
        end local 1 // com.datastax.oss.driver.api.core.metadata.schema.FunctionSignature functionSignature
        end local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lcom/datastax/oss/driver/api/core/metadata/schema/KeyspaceMetadata;
            0    1     1  functionSignature  Lcom/datastax/oss/driver/api/core/metadata/schema/FunctionSignature;
    Signature: (Lcom/datastax/oss/driver/api/core/metadata/schema/FunctionSignature;)Ljava/util/Optional<Lcom/datastax/oss/driver/api/core/metadata/schema/FunctionMetadata;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
                   Name  Flags
      functionSignature  

  public java.util.Optional<com.datastax.oss.driver.api.core.metadata.schema.FunctionMetadata> getFunction(com.datastax.oss.driver.api.core.CqlIdentifier, java.lang.Iterable<com.datastax.oss.driver.api.core.type.DataType>);
    descriptor: (Lcom/datastax/oss/driver/api/core/CqlIdentifier;Ljava/lang/Iterable;)Ljava/util/Optional;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
        start local 1 // com.datastax.oss.driver.api.core.CqlIdentifier functionId
        start local 2 // java.lang.Iterable parameterTypes
         0: .line 114
            aload 0 /* this */
            invokeinterface com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata.getFunctions:()Ljava/util/Map;
            new com.datastax.oss.driver.api.core.metadata.schema.FunctionSignature
            dup
            aload 1 /* functionId */
            aload 2 /* parameterTypes */
            invokespecial com.datastax.oss.driver.api.core.metadata.schema.FunctionSignature.<init>:(Lcom/datastax/oss/driver/api/core/CqlIdentifier;Ljava/lang/Iterable;)V
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.datastax.oss.driver.api.core.metadata.schema.FunctionMetadata
         1: .line 113
            invokestatic java.util.Optional.ofNullable:(Ljava/lang/Object;)Ljava/util/Optional;
            areturn
        end local 2 // java.lang.Iterable parameterTypes
        end local 1 // com.datastax.oss.driver.api.core.CqlIdentifier functionId
        end local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lcom/datastax/oss/driver/api/core/metadata/schema/KeyspaceMetadata;
            0    2     1      functionId  Lcom/datastax/oss/driver/api/core/CqlIdentifier;
            0    2     2  parameterTypes  Ljava/lang/Iterable<Lcom/datastax/oss/driver/api/core/type/DataType;>;
    Signature: (Lcom/datastax/oss/driver/api/core/CqlIdentifier;Ljava/lang/Iterable<Lcom/datastax/oss/driver/api/core/type/DataType;>;)Ljava/util/Optional<Lcom/datastax/oss/driver/api/core/metadata/schema/FunctionMetadata;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
                Name  Flags
      functionId      
      parameterTypes  

  public java.util.Optional<com.datastax.oss.driver.api.core.metadata.schema.FunctionMetadata> getFunction(java.lang.String, java.lang.Iterable<com.datastax.oss.driver.api.core.type.DataType>);
    descriptor: (Ljava/lang/String;Ljava/lang/Iterable;)Ljava/util/Optional;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
        start local 1 // java.lang.String functionName
        start local 2 // java.lang.Iterable parameterTypes
         0: .line 124
            aload 0 /* this */
            aload 1 /* functionName */
            invokestatic com.datastax.oss.driver.api.core.CqlIdentifier.fromCql:(Ljava/lang/String;)Lcom/datastax/oss/driver/api/core/CqlIdentifier;
            aload 2 /* parameterTypes */
            invokeinterface com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata.getFunction:(Lcom/datastax/oss/driver/api/core/CqlIdentifier;Ljava/lang/Iterable;)Ljava/util/Optional;
            areturn
        end local 2 // java.lang.Iterable parameterTypes
        end local 1 // java.lang.String functionName
        end local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lcom/datastax/oss/driver/api/core/metadata/schema/KeyspaceMetadata;
            0    1     1    functionName  Ljava/lang/String;
            0    1     2  parameterTypes  Ljava/lang/Iterable<Lcom/datastax/oss/driver/api/core/type/DataType;>;
    Signature: (Ljava/lang/String;Ljava/lang/Iterable<Lcom/datastax/oss/driver/api/core/type/DataType;>;)Ljava/util/Optional<Lcom/datastax/oss/driver/api/core/metadata/schema/FunctionMetadata;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
                Name  Flags
      functionName    
      parameterTypes  

  public java.util.Optional<com.datastax.oss.driver.api.core.metadata.schema.FunctionMetadata> getFunction(com.datastax.oss.driver.api.core.CqlIdentifier, com.datastax.oss.driver.api.core.type.DataType[]);
    descriptor: (Lcom/datastax/oss/driver/api/core/CqlIdentifier;[Lcom/datastax/oss/driver/api/core/type/DataType;)Ljava/util/Optional;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
        start local 1 // com.datastax.oss.driver.api.core.CqlIdentifier functionId
        start local 2 // com.datastax.oss.driver.api.core.type.DataType[] parameterTypes
         0: .line 134
            aload 0 /* this */
            invokeinterface com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata.getFunctions:()Ljava/util/Map;
            new com.datastax.oss.driver.api.core.metadata.schema.FunctionSignature
            dup
            aload 1 /* functionId */
            aload 2 /* parameterTypes */
            invokespecial com.datastax.oss.driver.api.core.metadata.schema.FunctionSignature.<init>:(Lcom/datastax/oss/driver/api/core/CqlIdentifier;[Lcom/datastax/oss/driver/api/core/type/DataType;)V
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.datastax.oss.driver.api.core.metadata.schema.FunctionMetadata
         1: .line 133
            invokestatic java.util.Optional.ofNullable:(Ljava/lang/Object;)Ljava/util/Optional;
            areturn
        end local 2 // com.datastax.oss.driver.api.core.type.DataType[] parameterTypes
        end local 1 // com.datastax.oss.driver.api.core.CqlIdentifier functionId
        end local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lcom/datastax/oss/driver/api/core/metadata/schema/KeyspaceMetadata;
            0    2     1      functionId  Lcom/datastax/oss/driver/api/core/CqlIdentifier;
            0    2     2  parameterTypes  [Lcom/datastax/oss/driver/api/core/type/DataType;
    Signature: (Lcom/datastax/oss/driver/api/core/CqlIdentifier;[Lcom/datastax/oss/driver/api/core/type/DataType;)Ljava/util/Optional<Lcom/datastax/oss/driver/api/core/metadata/schema/FunctionMetadata;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
                Name  Flags
      functionId      
      parameterTypes  

  public java.util.Optional<com.datastax.oss.driver.api.core.metadata.schema.FunctionMetadata> getFunction(java.lang.String, com.datastax.oss.driver.api.core.type.DataType[]);
    descriptor: (Ljava/lang/String;[Lcom/datastax/oss/driver/api/core/type/DataType;)Ljava/util/Optional;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
        start local 1 // java.lang.String functionName
        start local 2 // com.datastax.oss.driver.api.core.type.DataType[] parameterTypes
         0: .line 146
            aload 0 /* this */
            aload 1 /* functionName */
            invokestatic com.datastax.oss.driver.api.core.CqlIdentifier.fromCql:(Ljava/lang/String;)Lcom/datastax/oss/driver/api/core/CqlIdentifier;
            aload 2 /* parameterTypes */
            invokeinterface com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata.getFunction:(Lcom/datastax/oss/driver/api/core/CqlIdentifier;[Lcom/datastax/oss/driver/api/core/type/DataType;)Ljava/util/Optional;
            areturn
        end local 2 // com.datastax.oss.driver.api.core.type.DataType[] parameterTypes
        end local 1 // java.lang.String functionName
        end local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lcom/datastax/oss/driver/api/core/metadata/schema/KeyspaceMetadata;
            0    1     1    functionName  Ljava/lang/String;
            0    1     2  parameterTypes  [Lcom/datastax/oss/driver/api/core/type/DataType;
    Signature: (Ljava/lang/String;[Lcom/datastax/oss/driver/api/core/type/DataType;)Ljava/util/Optional<Lcom/datastax/oss/driver/api/core/metadata/schema/FunctionMetadata;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
                Name  Flags
      functionName    
      parameterTypes  

  public abstract java.util.Map<com.datastax.oss.driver.api.core.metadata.schema.FunctionSignature, com.datastax.oss.driver.api.core.metadata.schema.AggregateMetadata> getAggregates();
    descriptor: ()Ljava/util/Map;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
    Signature: ()Ljava/util/Map<Lcom/datastax/oss/driver/api/core/metadata/schema/FunctionSignature;Lcom/datastax/oss/driver/api/core/metadata/schema/AggregateMetadata;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()

  public java.util.Optional<com.datastax.oss.driver.api.core.metadata.schema.AggregateMetadata> getAggregate(com.datastax.oss.driver.api.core.metadata.schema.FunctionSignature);
    descriptor: (Lcom/datastax/oss/driver/api/core/metadata/schema/FunctionSignature;)Ljava/util/Optional;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
        start local 1 // com.datastax.oss.driver.api.core.metadata.schema.FunctionSignature aggregateSignature
         0: .line 154
            aload 0 /* this */
            invokeinterface com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata.getAggregates:()Ljava/util/Map;
            aload 1 /* aggregateSignature */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.datastax.oss.driver.api.core.metadata.schema.AggregateMetadata
            invokestatic java.util.Optional.ofNullable:(Ljava/lang/Object;)Ljava/util/Optional;
            areturn
        end local 1 // com.datastax.oss.driver.api.core.metadata.schema.FunctionSignature aggregateSignature
        end local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    1     0                this  Lcom/datastax/oss/driver/api/core/metadata/schema/KeyspaceMetadata;
            0    1     1  aggregateSignature  Lcom/datastax/oss/driver/api/core/metadata/schema/FunctionSignature;
    Signature: (Lcom/datastax/oss/driver/api/core/metadata/schema/FunctionSignature;)Ljava/util/Optional<Lcom/datastax/oss/driver/api/core/metadata/schema/AggregateMetadata;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
                    Name  Flags
      aggregateSignature  

  public java.util.Optional<com.datastax.oss.driver.api.core.metadata.schema.AggregateMetadata> getAggregate(com.datastax.oss.driver.api.core.CqlIdentifier, java.lang.Iterable<com.datastax.oss.driver.api.core.type.DataType>);
    descriptor: (Lcom/datastax/oss/driver/api/core/CqlIdentifier;Ljava/lang/Iterable;)Ljava/util/Optional;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
        start local 1 // com.datastax.oss.driver.api.core.CqlIdentifier aggregateId
        start local 2 // java.lang.Iterable parameterTypes
         0: .line 161
            aload 0 /* this */
            invokeinterface com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata.getAggregates:()Ljava/util/Map;
            new com.datastax.oss.driver.api.core.metadata.schema.FunctionSignature
            dup
            aload 1 /* aggregateId */
            aload 2 /* parameterTypes */
            invokespecial com.datastax.oss.driver.api.core.metadata.schema.FunctionSignature.<init>:(Lcom/datastax/oss/driver/api/core/CqlIdentifier;Ljava/lang/Iterable;)V
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.datastax.oss.driver.api.core.metadata.schema.AggregateMetadata
         1: .line 160
            invokestatic java.util.Optional.ofNullable:(Ljava/lang/Object;)Ljava/util/Optional;
            areturn
        end local 2 // java.lang.Iterable parameterTypes
        end local 1 // com.datastax.oss.driver.api.core.CqlIdentifier aggregateId
        end local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lcom/datastax/oss/driver/api/core/metadata/schema/KeyspaceMetadata;
            0    2     1     aggregateId  Lcom/datastax/oss/driver/api/core/CqlIdentifier;
            0    2     2  parameterTypes  Ljava/lang/Iterable<Lcom/datastax/oss/driver/api/core/type/DataType;>;
    Signature: (Lcom/datastax/oss/driver/api/core/CqlIdentifier;Ljava/lang/Iterable<Lcom/datastax/oss/driver/api/core/type/DataType;>;)Ljava/util/Optional<Lcom/datastax/oss/driver/api/core/metadata/schema/AggregateMetadata;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
                Name  Flags
      aggregateId     
      parameterTypes  

  public java.util.Optional<com.datastax.oss.driver.api.core.metadata.schema.AggregateMetadata> getAggregate(java.lang.String, java.lang.Iterable<com.datastax.oss.driver.api.core.type.DataType>);
    descriptor: (Ljava/lang/String;Ljava/lang/Iterable;)Ljava/util/Optional;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
        start local 1 // java.lang.String aggregateName
        start local 2 // java.lang.Iterable parameterTypes
         0: .line 171
            aload 0 /* this */
            aload 1 /* aggregateName */
            invokestatic com.datastax.oss.driver.api.core.CqlIdentifier.fromCql:(Ljava/lang/String;)Lcom/datastax/oss/driver/api/core/CqlIdentifier;
            aload 2 /* parameterTypes */
            invokeinterface com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata.getAggregate:(Lcom/datastax/oss/driver/api/core/CqlIdentifier;Ljava/lang/Iterable;)Ljava/util/Optional;
            areturn
        end local 2 // java.lang.Iterable parameterTypes
        end local 1 // java.lang.String aggregateName
        end local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lcom/datastax/oss/driver/api/core/metadata/schema/KeyspaceMetadata;
            0    1     1   aggregateName  Ljava/lang/String;
            0    1     2  parameterTypes  Ljava/lang/Iterable<Lcom/datastax/oss/driver/api/core/type/DataType;>;
    Signature: (Ljava/lang/String;Ljava/lang/Iterable<Lcom/datastax/oss/driver/api/core/type/DataType;>;)Ljava/util/Optional<Lcom/datastax/oss/driver/api/core/metadata/schema/AggregateMetadata;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
                Name  Flags
      aggregateName   
      parameterTypes  

  public java.util.Optional<com.datastax.oss.driver.api.core.metadata.schema.AggregateMetadata> getAggregate(com.datastax.oss.driver.api.core.CqlIdentifier, com.datastax.oss.driver.api.core.type.DataType[]);
    descriptor: (Lcom/datastax/oss/driver/api/core/CqlIdentifier;[Lcom/datastax/oss/driver/api/core/type/DataType;)Ljava/util/Optional;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
        start local 1 // com.datastax.oss.driver.api.core.CqlIdentifier aggregateId
        start local 2 // com.datastax.oss.driver.api.core.type.DataType[] parameterTypes
         0: .line 181
            aload 0 /* this */
            invokeinterface com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata.getAggregates:()Ljava/util/Map;
            new com.datastax.oss.driver.api.core.metadata.schema.FunctionSignature
            dup
            aload 1 /* aggregateId */
            aload 2 /* parameterTypes */
            invokespecial com.datastax.oss.driver.api.core.metadata.schema.FunctionSignature.<init>:(Lcom/datastax/oss/driver/api/core/CqlIdentifier;[Lcom/datastax/oss/driver/api/core/type/DataType;)V
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.datastax.oss.driver.api.core.metadata.schema.AggregateMetadata
         1: .line 180
            invokestatic java.util.Optional.ofNullable:(Ljava/lang/Object;)Ljava/util/Optional;
            areturn
        end local 2 // com.datastax.oss.driver.api.core.type.DataType[] parameterTypes
        end local 1 // com.datastax.oss.driver.api.core.CqlIdentifier aggregateId
        end local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0            this  Lcom/datastax/oss/driver/api/core/metadata/schema/KeyspaceMetadata;
            0    2     1     aggregateId  Lcom/datastax/oss/driver/api/core/CqlIdentifier;
            0    2     2  parameterTypes  [Lcom/datastax/oss/driver/api/core/type/DataType;
    Signature: (Lcom/datastax/oss/driver/api/core/CqlIdentifier;[Lcom/datastax/oss/driver/api/core/type/DataType;)Ljava/util/Optional<Lcom/datastax/oss/driver/api/core/metadata/schema/AggregateMetadata;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
                Name  Flags
      aggregateId     
      parameterTypes  

  public java.util.Optional<com.datastax.oss.driver.api.core.metadata.schema.AggregateMetadata> getAggregate(java.lang.String, com.datastax.oss.driver.api.core.type.DataType[]);
    descriptor: (Ljava/lang/String;[Lcom/datastax/oss/driver/api/core/type/DataType;)Ljava/util/Optional;
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
        start local 1 // java.lang.String aggregateName
        start local 2 // com.datastax.oss.driver.api.core.type.DataType[] parameterTypes
         0: .line 193
            aload 0 /* this */
            aload 1 /* aggregateName */
            invokestatic com.datastax.oss.driver.api.core.CqlIdentifier.fromCql:(Ljava/lang/String;)Lcom/datastax/oss/driver/api/core/CqlIdentifier;
            aload 2 /* parameterTypes */
            invokeinterface com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata.getAggregate:(Lcom/datastax/oss/driver/api/core/CqlIdentifier;[Lcom/datastax/oss/driver/api/core/type/DataType;)Ljava/util/Optional;
            areturn
        end local 2 // com.datastax.oss.driver.api.core.type.DataType[] parameterTypes
        end local 1 // java.lang.String aggregateName
        end local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    1     0            this  Lcom/datastax/oss/driver/api/core/metadata/schema/KeyspaceMetadata;
            0    1     1   aggregateName  Ljava/lang/String;
            0    1     2  parameterTypes  [Lcom/datastax/oss/driver/api/core/type/DataType;
    Signature: (Ljava/lang/String;[Lcom/datastax/oss/driver/api/core/type/DataType;)Ljava/util/Optional<Lcom/datastax/oss/driver/api/core/metadata/schema/AggregateMetadata;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    RuntimeInvisibleParameterAnnotations: 
      0:
        edu.umd.cs.findbugs.annotations.NonNull()
      1:
        edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
                Name  Flags
      aggregateName   
      parameterTypes  

  public java.lang.String describe(boolean);
    descriptor: (Z)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
        start local 1 // boolean pretty
         0: .line 199
            new com.datastax.oss.driver.internal.core.metadata.schema.ScriptBuilder
            dup
            iload 1 /* pretty */
            invokespecial com.datastax.oss.driver.internal.core.metadata.schema.ScriptBuilder.<init>:(Z)V
            astore 2 /* builder */
        start local 2 // com.datastax.oss.driver.internal.core.metadata.schema.ScriptBuilder builder
         1: .line 200
            aload 0 /* this */
            invokeinterface com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata.isVirtual:()Z
            ifeq 4
         2: .line 201
            aload 2 /* builder */
            ldc "/* VIRTUAL "
            invokevirtual com.datastax.oss.driver.internal.core.metadata.schema.ScriptBuilder.append:(Ljava/lang/String;)Lcom/datastax/oss/driver/internal/core/metadata/schema/ScriptBuilder;
            pop
         3: .line 202
            goto 5
         4: .line 203
      StackMap locals: com.datastax.oss.driver.internal.core.metadata.schema.ScriptBuilder
      StackMap stack:
            aload 2 /* builder */
            ldc "CREATE "
            invokevirtual com.datastax.oss.driver.internal.core.metadata.schema.ScriptBuilder.append:(Ljava/lang/String;)Lcom/datastax/oss/driver/internal/core/metadata/schema/ScriptBuilder;
            pop
         5: .line 205
      StackMap locals:
      StackMap stack:
            aload 2 /* builder */
         6: .line 206
            ldc "KEYSPACE "
            invokevirtual com.datastax.oss.driver.internal.core.metadata.schema.ScriptBuilder.append:(Ljava/lang/String;)Lcom/datastax/oss/driver/internal/core/metadata/schema/ScriptBuilder;
         7: .line 207
            aload 0 /* this */
            invokeinterface com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata.getName:()Lcom/datastax/oss/driver/api/core/CqlIdentifier;
            invokevirtual com.datastax.oss.driver.internal.core.metadata.schema.ScriptBuilder.append:(Lcom/datastax/oss/driver/api/core/CqlIdentifier;)Lcom/datastax/oss/driver/internal/core/metadata/schema/ScriptBuilder;
         8: .line 208
            ldc " WITH replication = { 'class' : '"
            invokevirtual com.datastax.oss.driver.internal.core.metadata.schema.ScriptBuilder.append:(Ljava/lang/String;)Lcom/datastax/oss/driver/internal/core/metadata/schema/ScriptBuilder;
         9: .line 209
            aload 0 /* this */
            invokeinterface com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata.getReplication:()Ljava/util/Map;
            ldc "class"
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual com.datastax.oss.driver.internal.core.metadata.schema.ScriptBuilder.append:(Ljava/lang/String;)Lcom/datastax/oss/driver/internal/core/metadata/schema/ScriptBuilder;
        10: .line 210
            ldc "'"
            invokevirtual com.datastax.oss.driver.internal.core.metadata.schema.ScriptBuilder.append:(Ljava/lang/String;)Lcom/datastax/oss/driver/internal/core/metadata/schema/ScriptBuilder;
            pop
        11: .line 211
            aload 0 /* this */
            invokeinterface com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata.getReplication:()Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 20
      StackMap locals: com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata int com.datastax.oss.driver.internal.core.metadata.schema.ScriptBuilder top java.util.Iterator
      StackMap stack:
        12: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* entry */
        start local 3 // java.util.Map$Entry entry
        13: .line 212
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            ldc "class"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 20
        14: .line 213
            aload 2 /* builder */
        15: .line 214
            ldc ", '"
            invokevirtual com.datastax.oss.driver.internal.core.metadata.schema.ScriptBuilder.append:(Ljava/lang/String;)Lcom/datastax/oss/driver/internal/core/metadata/schema/ScriptBuilder;
        16: .line 215
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual com.datastax.oss.driver.internal.core.metadata.schema.ScriptBuilder.append:(Ljava/lang/String;)Lcom/datastax/oss/driver/internal/core/metadata/schema/ScriptBuilder;
        17: .line 216
            ldc "': '"
            invokevirtual com.datastax.oss.driver.internal.core.metadata.schema.ScriptBuilder.append:(Ljava/lang/String;)Lcom/datastax/oss/driver/internal/core/metadata/schema/ScriptBuilder;
        18: .line 217
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual com.datastax.oss.driver.internal.core.metadata.schema.ScriptBuilder.append:(Ljava/lang/String;)Lcom/datastax/oss/driver/internal/core/metadata/schema/ScriptBuilder;
        19: .line 218
            ldc "'"
            invokevirtual com.datastax.oss.driver.internal.core.metadata.schema.ScriptBuilder.append:(Ljava/lang/String;)Lcom/datastax/oss/driver/internal/core/metadata/schema/ScriptBuilder;
            pop
        end local 3 // java.util.Map$Entry entry
        20: .line 211
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 12
        21: .line 221
            aload 2 /* builder */
        22: .line 222
            ldc " } AND durable_writes = "
            invokevirtual com.datastax.oss.driver.internal.core.metadata.schema.ScriptBuilder.append:(Ljava/lang/String;)Lcom/datastax/oss/driver/internal/core/metadata/schema/ScriptBuilder;
        23: .line 223
            aload 0 /* this */
            invokeinterface com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata.isDurableWrites:()Z
            invokestatic java.lang.Boolean.toString:(Z)Ljava/lang/String;
            invokevirtual com.datastax.oss.driver.internal.core.metadata.schema.ScriptBuilder.append:(Ljava/lang/String;)Lcom/datastax/oss/driver/internal/core/metadata/schema/ScriptBuilder;
        24: .line 224
            ldc ";"
            invokevirtual com.datastax.oss.driver.internal.core.metadata.schema.ScriptBuilder.append:(Ljava/lang/String;)Lcom/datastax/oss/driver/internal/core/metadata/schema/ScriptBuilder;
            pop
        25: .line 225
            aload 0 /* this */
            invokeinterface com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata.isVirtual:()Z
            ifeq 27
        26: .line 226
            aload 2 /* builder */
            ldc " */"
            invokevirtual com.datastax.oss.driver.internal.core.metadata.schema.ScriptBuilder.append:(Ljava/lang/String;)Lcom/datastax/oss/driver/internal/core/metadata/schema/ScriptBuilder;
            pop
        27: .line 228
      StackMap locals: com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata int com.datastax.oss.driver.internal.core.metadata.schema.ScriptBuilder
      StackMap stack:
            aload 2 /* builder */
            invokevirtual com.datastax.oss.driver.internal.core.metadata.schema.ScriptBuilder.build:()Ljava/lang/String;
            areturn
        end local 2 // com.datastax.oss.driver.internal.core.metadata.schema.ScriptBuilder builder
        end local 1 // boolean pretty
        end local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   28     0     this  Lcom/datastax/oss/driver/api/core/metadata/schema/KeyspaceMetadata;
            0   28     1   pretty  Z
            1   28     2  builder  Lcom/datastax/oss/driver/internal/core/metadata/schema/ScriptBuilder;
           13   20     3    entry  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
        Name  Flags
      pretty  

  public java.lang.String describeWithChildren(boolean);
    descriptor: (Z)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
        start local 1 // boolean pretty
         0: .line 234
            aload 0 /* this */
            iload 1 /* pretty */
            invokeinterface com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata.describe:(Z)Ljava/lang/String;
            astore 2 /* createKeyspace */
        start local 2 // java.lang.String createKeyspace
         1: .line 235
            new com.datastax.oss.driver.internal.core.metadata.schema.ScriptBuilder
            dup
            iload 1 /* pretty */
            invokespecial com.datastax.oss.driver.internal.core.metadata.schema.ScriptBuilder.<init>:(Z)V
            aload 2 /* createKeyspace */
            invokevirtual com.datastax.oss.driver.internal.core.metadata.schema.ScriptBuilder.append:(Ljava/lang/String;)Lcom/datastax/oss/driver/internal/core/metadata/schema/ScriptBuilder;
            astore 3 /* builder */
        start local 3 // com.datastax.oss.driver.internal.core.metadata.schema.ScriptBuilder builder
         2: .line 237
            iconst_5
            anewarray java.lang.Iterable
            dup
            iconst_0
         3: .line 239
            aload 0 /* this */
            invokeinterface com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata.getUserDefinedTypes:()Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            aastore
            dup
            iconst_1
         4: .line 240
            aload 0 /* this */
            invokeinterface com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata.getTables:()Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            aastore
            dup
            iconst_2
         5: .line 241
            aload 0 /* this */
            invokeinterface com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata.getViews:()Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            aastore
            dup
            iconst_3
         6: .line 242
            aload 0 /* this */
            invokeinterface com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata.getFunctions:()Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            aastore
            dup
            iconst_4
         7: .line 243
            aload 0 /* this */
            invokeinterface com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata.getAggregates:()Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            aastore
         8: .line 238
            invokestatic com.datastax.oss.driver.shaded.guava.common.collect.Iterables.concat:([Ljava/lang/Iterable;)Ljava/lang/Iterable;
            invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
            astore 5
            goto 11
      StackMap locals: com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata int java.lang.String com.datastax.oss.driver.internal.core.metadata.schema.ScriptBuilder top java.util.Iterator
      StackMap stack:
         9: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.datastax.oss.driver.api.core.metadata.schema.Describable
            astore 4 /* element */
        start local 4 // com.datastax.oss.driver.api.core.metadata.schema.Describable element
        10: .line 244
            aload 3 /* builder */
            iconst_2
            invokevirtual com.datastax.oss.driver.internal.core.metadata.schema.ScriptBuilder.forceNewLine:(I)Lcom/datastax/oss/driver/internal/core/metadata/schema/ScriptBuilder;
            aload 4 /* element */
            iload 1 /* pretty */
            invokeinterface com.datastax.oss.driver.api.core.metadata.schema.Describable.describeWithChildren:(Z)Ljava/lang/String;
            invokevirtual com.datastax.oss.driver.internal.core.metadata.schema.ScriptBuilder.append:(Ljava/lang/String;)Lcom/datastax/oss/driver/internal/core/metadata/schema/ScriptBuilder;
            pop
        end local 4 // com.datastax.oss.driver.api.core.metadata.schema.Describable element
        11: .line 237
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        12: .line 247
            aload 3 /* builder */
            invokevirtual com.datastax.oss.driver.internal.core.metadata.schema.ScriptBuilder.build:()Ljava/lang/String;
            areturn
        end local 3 // com.datastax.oss.driver.internal.core.metadata.schema.ScriptBuilder builder
        end local 2 // java.lang.String createKeyspace
        end local 1 // boolean pretty
        end local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0            this  Lcom/datastax/oss/driver/api/core/metadata/schema/KeyspaceMetadata;
            0   13     1          pretty  Z
            1   13     2  createKeyspace  Ljava/lang/String;
            2   13     3         builder  Lcom/datastax/oss/driver/internal/core/metadata/schema/ScriptBuilder;
           10   11     4         element  Lcom/datastax/oss/driver/api/core/metadata/schema/Describable;
    RuntimeInvisibleAnnotations: 
      edu.umd.cs.findbugs.annotations.NonNull()
    MethodParameters:
        Name  Flags
      pretty  

  public boolean shallowEquals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
        start local 1 // java.lang.Object other
         0: .line 251
            aload 1 /* other */
            aload 0 /* this */
            if_acmpne 2
         1: .line 252
            iconst_1
            ireturn
         2: .line 253
      StackMap locals:
      StackMap stack:
            aload 1 /* other */
            instanceof com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata
            ifeq 9
         3: .line 254
            aload 1 /* other */
            checkcast com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata
            astore 2 /* that */
        start local 2 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata that
         4: .line 255
            aload 0 /* this */
            invokeinterface com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata.getName:()Lcom/datastax/oss/driver/api/core/CqlIdentifier;
            aload 2 /* that */
            invokeinterface com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata.getName:()Lcom/datastax/oss/driver/api/core/CqlIdentifier;
            invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 8
         5: .line 256
            aload 0 /* this */
            invokeinterface com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata.isDurableWrites:()Z
            aload 2 /* that */
            invokeinterface com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata.isDurableWrites:()Z
            if_icmpne 8
         6: .line 257
            aload 0 /* this */
            invokeinterface com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata.getReplication:()Ljava/util/Map;
            aload 2 /* that */
            invokeinterface com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata.getReplication:()Ljava/util/Map;
            invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
            ifeq 8
         7: .line 255
            iconst_1
            ireturn
      StackMap locals: com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata
      StackMap stack:
         8: iconst_0
            ireturn
        end local 2 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata that
         9: .line 259
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.Object other
        end local 0 // com.datastax.oss.driver.api.core.metadata.schema.KeyspaceMetadata this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lcom/datastax/oss/driver/api/core/metadata/schema/KeyspaceMetadata;
            0   10     1  other  Ljava/lang/Object;
            4    9     2   that  Lcom/datastax/oss/driver/api/core/metadata/schema/KeyspaceMetadata;
    MethodParameters:
       Name  Flags
      other  
}
SourceFile: "KeyspaceMetadata.java"
InnerClasses:
  public Builder = com.datastax.oss.driver.shaded.guava.common.collect.ImmutableMap$Builder of com.datastax.oss.driver.shaded.guava.common.collect.ImmutableMap
  public abstract Entry = java.util.Map$Entry of java.util.Map