@Deprecated
        @Override
        protected void initStoreSerde(final ProcessorContext context) {
            super.initStoreSerde(context);

            // additionally init raw value serde
            final String storeName = super.name();
            final String changelogTopic = ProcessorContextUtils.changelogFor(context, storeName, Boolean.FALSE);
            plainValueSerdes = StoreSerdeInitializer.prepareStoreSerde(
                context, storeName, changelogTopic, keySerde, plainValueSerde, WrappingNullableUtils::prepareValueSerde);
        }
Conceptually, {@link MeteredVersionedKeyValueStore} should {@code extend}
{@link MeteredKeyValueStore}, but due to type conflicts, we cannot do this. (Specifically,
the first needs to be {@link VersionedKeyValueStore} while the second is {@link KeyValueStore}
and the two interfaces conflict.) Thus, we use an internal <it>instance</it> of
{@code MeteredKeyValueStore} to mimic inheritance instead.
<p>
It's not ideal because it requires an extra step to translate between the APIs of
{@link VersionedKeyValueStore} in {@link MeteredVersionedKeyValueStore} and
the APIs of {@link TimestampedKeyValueStore} in {@link MeteredVersionedKeyValueStoreInternal}.
This extra step is all that the methods of {@code MeteredVersionedKeyValueStoreInternal} do.
<p>
Note that the addition of {@link #get(Object, long)} and {@link #delete(Object, long)} in
this class are to match the interface of {@link VersionedKeyValueStore}.
streams/src/main/java/org/apache/kafka/streams/state/internals/MeteredVersionedKeyValueStore.java