public function loadChoiceList(callable
$value = null
): ChoiceListInterface
{ return new ArrayChoiceList($this->choices ??=
$this->
loadChoices(),
$value);
} public function loadChoicesForValues(array
$values, callable
$value = null
): array
{ if (!
$values) { return [];
} return $this->
doLoadChoicesForValues($values,
$value);
} public function loadValuesForChoices(array
$choices, callable
$value = null
): array
{ if (!
$choices) { return [];
} if ($value) { // if a value callback exists, use it
return array_map(fn ($item) =>
(string) $value($item),
$choices);
}