public synchronized TopologyDescription describe() {
        return internalTopologyBuilder.describe();
    }
@Test
    public void tableNamedMaterializedCountWithTopologyConfigShouldPreserveTopologyStructure() {
        // override the default store into in-memory
        final StreamsBuilder builder = new StreamsBuilder(overrideDefaultStore(StreamsConfig.IN_MEMORY));
        builder.table("input-topic")
            .groupBy((key, value) -> null)
            // can still override the default store dynamically
            .count(Materialized.as(Materialized.StoreType.ROCKS_DB));
        final Topology topology = builder.build();
        final TopologyDescription describe = topology.describe();
        assertEquals(
            "Topology: my-topology:\n" +
                "   Sub-topology: 0\n" +
                "    Source: KSTREAM-SOURCE-0000000001 (topics: [input-topic])\n" +
                "      --> KTABLE-SOURCE-0000000002\n" +
                "    Processor: KTABLE-SOURCE-0000000002 (stores: [input-topic-STATE-STORE-0000000000])\n" +
                "      --> KTABLE-SELECT-0000000003\n" +
                "      <-- KSTREAM-SOURCE-0000000001\n" +
                "    Processor: KTABLE-SELECT-0000000003 (stores: [])\n" +
                "      --> KSTREAM-SINK-0000000005\n" +
                "      <-- KTABLE-SOURCE-0000000002\n" +
                "    Sink: KSTREAM-SINK-0000000005 (topic: KTABLE-AGGREGATE-STATE-STORE-0000000004-repartition)\n" +
                "      <-- KTABLE-SELECT-0000000003\n" +
                "\n" +
                "  Sub-topology: 1\n" +
                "    Source: KSTREAM-SOURCE-0000000006 (topics: [KTABLE-AGGREGATE-STATE-STORE-0000000004-repartition])\n" +
                "      --> KTABLE-AGGREGATE-0000000007\n" +
                "    Processor: KTABLE-AGGREGATE-0000000007 (stores: [KTABLE-AGGREGATE-STATE-STORE-0000000004])\n" +
                "      --> none\n" +
                "      <-- KSTREAM-SOURCE-0000000006\n" +
                "\n",
            describe.toString()
        );

        topology.internalTopologyBuilder.setStreamsConfig(streamsConfig);
        final ProcessorTopology processorTopology = topology.internalTopologyBuilder.setApplicationId("test").buildTopology();
        // one for ktable, and one for count operation
        assertThat(processorTopology.stateStores().size(), is(2));
        // ktable store is in-memory (default is in-memory)
        assertThat(processorTopology.stateStores().get(0).persistent(), is(false));
        // count store is rocksDB
        assertThat(processorTopology.stateStores().get(1).persistent(), is(true));
    }