Source:
<code>private TableMetadata(Builder builder) { if (!Flag.isCQLCompatible(builder.flags)) { flags = ImmutableSet.copyOf(Sets.union(Sets.difference(builder.flags, DEPRECATED_CS_FLAGS), DEFAULT_CQL_FLAGS)); logger.warn(COMPACT_STORAGE_DEPRECATION_MESSAGE, builder.keyspace, builder.name, builder.flags, DEPRECATED_CS_FLAGS, flags); } else { flags = Sets.immutableEnumSet(builder.flags); } keyspace = builder.keyspace; name = builder.name; id = builder.id; partitioner = builder.partitioner; params = builder.params.build(); isView = builder.isView; isVirtual = builder.isVirtual; if (isVirtual) virtualKlass = builder.virtualKlass; else virtualKlass = null; <START> assert isVirtual == flags.contains(Flag.VIRTUAL) || !Strings.isNullOrEmpty(virtualKlass) && !flags.contains(Flag.VIRTUAL) <END> : "virtual class = " + virtualKlass + ", isVirtual = " + isVirtual + " but flags = " + flags; indexName = name.contains(".") ? name.substring(name.indexOf('.') + 1) : null; droppedColumns = ImmutableMap.copyOf(builder.droppedColumns); Collections.sort(builder.partitionKeyColumns); partitionKeyColumns = ImmutableList.copyOf(builder.partitionKeyColumns); Collections.sort(builder.clusteringColumns); clusteringColumns = ImmutableList.copyOf(builder.clusteringColumns); regularAndStaticColumns = RegularAndStaticColumns.builder().addAll(builder.regularAndStaticColumns).build(); columns = ImmutableMap.copyOf(builder.columns); indexes = builder.indexes; triggers = builder.triggers; partitionKeyType = partitionKeyColumns.size() == 1 ? partitionKeyColumns.get(0).type : CompositeType.getInstance(transform(partitionKeyColumns, t -> t.type)); comparator = new ClusteringComparator(transform(clusteringColumns, c -> c.type)); compactValueColumn = isCompactTable() ? CompactTables.getCompactValueColumn(regularAndStaticColumns, isSuper()) : null; resource = DataResource.table(keyspace, name); }</code><technical_language>w. asserts. draw a line in sand stop this</technical_language>

Target:
private TableMetadata(Builder builder) { if (!Flag.isCQLCompatible(builder.flags)) { flags = ImmutableSet.copyOf(Sets.union(Sets.difference(builder.flags, DEPRECATED_CS_FLAGS), DEFAULT_CQL_FLAGS)); logger.warn(COMPACT_STORAGE_DEPRECATION_MESSAGE, builder.keyspace, builder.name, builder.flags, DEPRECATED_CS_FLAGS, flags); } else { flags = Sets.immutableEnumSet(builder.flags); } keyspace = builder.keyspace; name = builder.name; id = builder.id; partitioner = builder.partitioner; params = builder.params.build(); isView = builder.isView; isVirtual = builder.isVirtual; if (isVirtual) virtualKlass = builder.virtualKlass; else virtualKlass = null; Preconditions.checkArgument(isVirtual == flags.contains(Flag.VIRTUAL) || !Strings.isNullOrEmpty(virtualKlass) && !flags.contains(Flag.VIRTUAL), "virtual class = " + virtualKlass + ", isVirtual = " + isVirtual + " but flags = " + flags); indexName = name.contains(".") ? name.substring(name.indexOf('.') + 1) : null; droppedColumns = ImmutableMap.copyOf(builder.droppedColumns); Collections.sort(builder.partitionKeyColumns); partitionKeyColumns = ImmutableList.copyOf(builder.partitionKeyColumns); Collections.sort(builder.clusteringColumns); clusteringColumns = ImmutableList.copyOf(builder.clusteringColumns); regularAndStaticColumns = RegularAndStaticColumns.builder().addAll(builder.regularAndStaticColumns).build(); columns = ImmutableMap.copyOf(builder.columns); indexes = builder.indexes; triggers = builder.triggers; partitionKeyType = partitionKeyColumns.size() == 1 ? partitionKeyColumns.get(0).type : CompositeType.getInstance(transform(partitionKeyColumns, t -> t.type)); comparator = new ClusteringComparator(transform(clusteringColumns, c -> c.type)); compactValueColumn = isCompactTable() ? CompactTables.getCompactValueColumn(regularAndStaticColumns, isSuper()) : null; resource = DataResource.table(keyspace, name); }