@VisibleForTesting
    public static List<SchemaChangeEventType> resolveSchemaEvolutionTag(String tag) {
        List<SchemaChangeEventType> types =
                new ArrayList<>(Arrays.asList(SchemaChangeEventTypeFamily.ofTag(tag)));
        if (types.isEmpty()) {
            // It's a specified tag
            SchemaChangeEventType type = SchemaChangeEventType.ofTag(tag);
            if (type != null) {
                types.add(type);
            }
        }
        return types;
    }
@Test
    public void testResolveSchemaEvolutionTag() {
        assertThat(ChangeEventUtils.resolveSchemaEvolutionTag("all"))
                .isEqualTo(
                        Arrays.asList(
                                ADD_COLUMN,
                                ALTER_COLUMN_TYPE,
                                CREATE_TABLE,
                                DROP_COLUMN,
                                DROP_TABLE,
                                RENAME_COLUMN,
                                TRUNCATE_TABLE));

        assertThat(ChangeEventUtils.resolveSchemaEvolutionTag("column"))
                .isEqualTo(
                        Arrays.asList(ADD_COLUMN, ALTER_COLUMN_TYPE, DROP_COLUMN, RENAME_COLUMN));

        assertThat(ChangeEventUtils.resolveSchemaEvolutionTag("table"))
                .isEqualTo(Arrays.asList(CREATE_TABLE, DROP_TABLE, TRUNCATE_TABLE));

        assertThat(ChangeEventUtils.resolveSchemaEvolutionTag("rename.column"))
                .isEqualTo(Collections.singletonList(RENAME_COLUMN));

        assertThat(ChangeEventUtils.resolveSchemaEvolutionTag("drop"))
                .isEqualTo(Arrays.asList(DROP_COLUMN, DROP_TABLE));

        assertThat(ChangeEventUtils.resolveSchemaEvolutionTag("drop.column"))
                .isEqualTo(Collections.singletonList(DROP_COLUMN));

        assertThat(ChangeEventUtils.resolveSchemaEvolutionTag("create"))
                .isEqualTo(Collections.singletonList(CREATE_TABLE));

        assertThat(ChangeEventUtils.resolveSchemaEvolutionTag("create.table"))
                .isEqualTo(Collections.singletonList(CREATE_TABLE));

        assertThat(ChangeEventUtils.resolveSchemaEvolutionTag("alter"))
                .isEqualTo(Collections.singletonList(ALTER_COLUMN_TYPE));

        assertThat(ChangeEventUtils.resolveSchemaEvolutionTag("alter.column.type"))
                .isEqualTo(Collections.singletonList(ALTER_COLUMN_TYPE));

        assertThat(ChangeEventUtils.resolveSchemaEvolutionTag("add"))
                .isEqualTo(Collections.singletonList(ADD_COLUMN));

        assertThat(ChangeEventUtils.resolveSchemaEvolutionTag("add.column"))
                .isEqualTo(Collections.singletonList(ADD_COLUMN));
    }