anchor.diff:  
   |[[kinesis-ext-stream-name-mapper]]<<kinesis-ext-stream-name-mapper, `io.debezium.server.kinesis.StreamNameMapper`>>
   |
  -|A code that maps the planned destination name into a physical Kinesis stream name. By default the same name is used.
  +|Custom implementation maps the planned destination (topic) name into a physical Kinesis stream name. By default the same name is used.
   
   |=======================
   
   
   == Extensions
   
  -Debezium Server uses https://quarkus.io/[Quarkus framework] and relies on dependency injection to enable developer to extend its behaviour.
  -The server can be extended in two ways by providing a custom code:
  +Debezium Server uses the https://quarkus.io/[Quarkus framework] and relies on dependency injection to enable developer to extend its behaviour.
  +Note that only the JVM mode of Quarkus is supported, but not native execution via GraalVM.
  +The server can be extended in two ways by providing a custom logic:
   
   * implementation of a new sink
   * customization of an existing sink - i.e. non-standard configuration
  
positive.code: `-- run.sh
  ----
  
  The server is started using `run.sh` script, dependencies are stored in the `lib` directory and directory `conf` contains configuration files.
  
  == Configuration
  
  Debezium Server uses https://github.com/eclipse/microprofile-config[MicroProfile Configuration] for configuration.
  This means that the application can be configured from disparate sources like configuration files, environment variables, system properties etc.
  
  The main configuration file is `conf/application.properties`.
  There are multiple sections configured:
  
  * `debezium.source` is for source connector configuration
  * `debezium.sink` is for the sink system configuration
  * `debezium.format` is for the output serialization format configuration
  * `debezium.transforms` is for configuration of Kafka Connect SMTs
  
  An example configuration file can look like:
  
  ----
  debezium.sink.type=kinesis
  
negative.code: === Implementation of a new sink
  
  The new sink can be implemented as a CDI bean implementing interface `DebeziumEngine.ChangeConsumer` and with annotation `@Named` and unique name and scope `@Dependent`.
  The name of the bean is used as the `debezium.sink.type` option.
  
  The sink needs to read the configuration using Microprofile Config API.
  The execution path must pass the messages into the target system and regularly commit the passed/processed messages.
  
  See the https://github.com/debezium/debezium/blob/master/debezium-server/src/main/java/io/debezium/server/kinesis/KinesisChangeConsumer.java[Kinesis sink] implementation for further details.
  
  
  === Customization of an existing sink
  