public function shrink(GeneratedValue $value)
{
$candidateNames = $this->filterDataSet($this->lengthSlightlyLessThan(strlen($value->unbox())));
if (!$candidateNames) {
return $value;
}
$distances = $this->distancesBy($value->unbox(), $candidateNames);
return GeneratedValue::fromJustValue($this->minimumDistanceName($distances), 'names');
}