anchor.diff:      }
   ----
   
  -The return value for this collector is a 32-bit signed integer (`int`). There is also a 64-bit variant, `countLong()`.
  -
  -[collectorsSum]
  -===== Collecting `sum()`
  -
  -To sum the values of a particular property of all elements in the group, use the `ConstraintCollectors.sum(...)`
  +The distinct count is collected in an `int`. Variants of this collector:
  +
  +* `countDistinctLong()` collects a `long` value instead of an `int` value.
  +
  +
  +[[collectorsSum]]
  +===== `sum()` collector
  +
  +To sum the values of a particular property of all elements per group, use the `ConstraintCollectors.sum(...)`
   collector. The following code snippet first groups all processes by the computer they run on and sums up all the power
   required by the processes on that computer using the `ConstraintCollectors.sum(...)` collector.
   
  
positive.code: constraint weights defined in <<constraintConfiguration,constraint configuration>>, multiplied by the number of hours in
  every matching `Shift` in the constraint stream.
  
  By replacing the keyword `penalize` by `reward` in the name of these building blocks, you will get operations that
  affect score in the opposite direction.
  
  
  
negative.code: There are several collectors available out of the box. You can also provide your own collectors by implementing the
  `org.optaplanner.core.api.score.stream.uni.UniConstraintCollector` interface, or its `Bi...`, `Tri...` counterparts.
  
  [[collectorsOutOfTheBox]]
  ==== Out-of-the-box collectors
  
  The following collectors are provided out of the box:
  
  * <<collectorsCount,`count()`>>
  * <<collectorsCountDistinct,`countDistinct()`>>
  * <<collectorsSum,`sum()`>>
  * <<collectorsMinMax,`min()` and `max()`>>
  * <<collectorsCollection,`toList()`, `toSet()` and `toMap()`>>
  
  
  [[collectorsCount]]
  ===== `count()` collector
  
  The `ConstraintCollectors.count(...)` counts all elements per group. For example, the following use of the collector
  gives a number of items for two separate groups - one where the talks have unavailable speakers, and one where they
  don't.
  
  