protected function filter($item, $filter, $propertyName)
{
if (false === empty($propertyName) && (true === is_object($item) || true === is_array($item))) {
$value = ObjectAccess::getPropertyPath($item, $propertyName);
} else {
$value = $item;
}
return is_array($filter) ? in_array($value, $filter) : $value == $filter;
}