public static <K> KStreamHolder<K> build(
      final KStreamHolder<K> stream,
      final StreamSelectKey<K> selectKey,
      final RuntimeBuildContext buildContext
  ) {
    return build(stream, selectKey, buildContext, PartitionByParamsFactory::build);
  }
@Test
  public void shouldReturnCorrectSerdeFactory() {
    // When:
    final KStreamHolder<GenericKey> result = StreamSelectKeyBuilder
        .build(stream, selectKey, buildContext, paramBuilder);

    // Then:
    result.getExecutionKeyFactory().buildKeySerde(
        FormatInfo.of(FormatFactory.JSON.name()),
        PhysicalSchema.from(SOURCE_SCHEMA, SerdeFeatures.of(), SerdeFeatures.of()),
        queryContext
    );

    verify(buildContext).buildKeySerde(
        FormatInfo.of(FormatFactory.JSON.name()),
        PhysicalSchema.from(SOURCE_SCHEMA, SerdeFeatures.of(), SerdeFeatures.of()),
        queryContext);
  }