protected function filterRequestedExpose(&$requested, &$actual)
{
$actual = (array) $actual;
foreach ($requested as $requestedKey => $requestedValue) {
if (in_array($requestedValue, $actual)) {
continue;
}
if (is_array($requestedValue)) {
if (isset($actual[$requestedKey])) {
$this->filterRequestedExpose($requested[$requestedKey], $actual[$requestedKey]);
continue;
}
} else {
if (isset($actual[$requestedValue]) && is_array($actual[$requestedValue]) && array_key_exists($requestedValue, $actual)) {
continue;
}
}
unset($requested[$requestedKey]);
}
}