public function shrink(GeneratedValue $element)
{
if (!$this->contains($element)) {
throw new DomainException(var_export($element, true) . ' is not in one of the given domains');
}
$input = $element->input();
$originalGeneratorIndex = $input['generator'];
$shrinkedValue = $this->generators[$originalGeneratorIndex]['generator']->shrink($input['value']);
return GeneratedValue::fromValueAndInput($shrinkedValue->unbox(), ['value' => $shrinkedValue, 'generator' => $originalGeneratorIndex], 'frequency');
}