The Hasher allows a {@link java.util.Comparator} implementation to also be delegated to during hashCode generationduring grouping partitioning.
If a Comparator is used to compare two types during grouping, its likely the {@code hashCode} value betweenthe two objects will not be consistent. This allows to objects being equal to hash to the same bucket (reducer) during partitioning.