protected function getLayoutOptions(\ArrayAccess $flaggedObject, array $layout)
{
$result = array();
foreach ($layout as $flag => $options) {
if ($flaggedObject->offsetExists($flag)) {
$value = $flaggedObject->offsetGet($flag);
$value = (string) $value;
if (isset($options[$value])) {
$result += $options[$value];
}
}
}
/* @var $callback callable */
foreach ($this->layoutCallback as $callback) {
$result = $callback($flaggedObject, $result);
}
return $result;
}