public synchronized Topology build(final Properties props) {
        internalStreamsBuilder.buildAndOptimizeTopology(props);
        return topology;
    }
Returns the {@link Topology} that represents the specified processing logic and accepts
a {@link Properties} instance used to indicate whether to optimize topology or not.

@param props the {@link Properties} used for building possibly optimized topology
@return the {@link Topology} that represents the specified processing logic
streams/src/main/java/org/apache/kafka/streams/StreamsBuilder.java