public StreamJoined<K, V1, V2> withStoreName(final String storeName) {
        return new StreamJoined<>(
            keySerde,
            valueSerde,
            otherValueSerde,
            dslStoreSuppliers,
            thisStoreSupplier,
            otherStoreSupplier,
            name,
            storeName,
            loggingEnabled,
            topicConfig
        );
    }
Sets the base store name to use for both sides of the join. The name for the state stores and hence the changelog
topics for the join stores.  The name for the stores will be ${applicationId}-&lt;storeName&gt;-this-join and ${applicationId}-&lt;storeName&gt;-other-join
or ${applicationId}-&lt;storeName&gt;-outer-this-join and ${applicationId}-&lt;storeName&gt;-outer-other-join depending if the join is an inner-join
or an outer join. The changelog topics will have the -changelog suffix.  The user should note that even though the join stores will have a
specified name, the stores will remain unavailable for querying.

@param storeName the storeName to use
@return a new {@link StreamJoined} instance
streams/src/main/java/org/apache/kafka/streams/kstream/StreamJoined.java