anchor.diff:  This is a very powerful mechanism but has two drawbacks:
   
   * It is necessary to compile the transformation upfront and deploy it to Kafka Connect.
  -* Every change needs code recompilation and redeployment leading to inflexible operations.
  +* Every change needs code recompilation and redeployment, leading to inflexible operations.
   
  -To solve the problem Debezium comes with the Filtering SMT.
  -This SMT allows the operator to write an expression that is evaluated for each event and according to the result, it is either filtered out or passed for further processing.
  -The current implementation supports two languages in which the expression can be written - `Groovy` and `JavaScript`.
  +To solve this problem, Debezium comes with the Filtering SMT.
  +This SMT allows the operator to write an expression that is evaluated for each event and according to the result, it is either filtered out or passed on for further processing.
  +The current implementation supports two languages in which the expression can be written: Groovy and JavaScript.
   
  -TheFiltering SMT can be used as
  +The Filtering SMT can be used like so:
  +
   [source]
   ----
   ...
   transforms=filter
   transforms.filter.type=io.debezium.transforms.Filter
   transforms.filter.language=groovy
  -transforms.filter.condition=value.op == 'd' && value.before.id == 2
  +transforms.filter.condition=value.op == 'u' && value.before.id == 2
  +...
   ----
   
  -In this example we are using `Groovy` language and we want to filter out all delete records with `id` field equal to `2`.
  +In this example we are using `Groovy` as expression language, and we're filtering out all update records with `id` field equal to `2`.
   
   [IMPORTANT]
   ====
  -Debezium does not bring the language implementations in its installation packages by default.
  +Debezium does not come with the language implementations in its installation packages.
   It is the user's responsibility to provide an implementation of link:https://groovy-lang.org/[Groovy 3] or link:https://github.com/graalvm/graaljs[GraalVM JavaScript] on the classpath.
  -In both cases, the support for JSR-223 scripting API must be provided as well.
  +In both cases, the support for the JSR-223 scripting API must be provided as well.
   ====
   
  -Debezium binds 4 variables into the expression
  +Debezium binds four variables into the evaluation context:
   
   * `key` - a key of the message
   * `value` - a value of the message
  
positive.code: value.op == 'd' && value.before.id == 2
  ----
  
  In case of `Grovy` the value fields can be access in a property-like way instead of calling method `get as is the case of JavaScript.
  
  [[configuration-options]]
  == Configuration options
  
negative.code: 
  The `key` and `value` are of type `org.apache.kafka.connect.data.Struct` and `keySchema` and `valueSchema` are variables of type `org.apache.kafka.connect.data.Schema`.
  The expression can invoke arbitrary methods on the variables and should evaluate into a boolean value that decides whether the message is removed `true` or kept.
  Expressions should be side-effect free, i.e. they should *not* modify the passed variables in any way.
  
  == Language specifics
  
  The same business logic - remove all update records with `id` set to `2` can be expressed like this, depending on your preferred scripting language:
  
  JavaScript
  [source,javascript]
  ----
  value.get('op') == 'u' && value.get('before').get('id') == 2
  ----
  
  Groovy
  