protected function matchesFilter($element, $filter)
{
if (isset($filter['IdentifierFilter']) && !$this->matchesIdentifierFilter($element, $filter['IdentifierFilter'])) {
return false;
}
if (isset($filter['PropertyNameFilter']) && !$this->matchesPropertyNameFilter($element, $filter['PropertyNameFilter'])) {
return false;
}
if (isset($filter['AttributeFilters'])) {
foreach ($filter['AttributeFilters'] as $attributeFilter) {
if (!$this->matchesAttributeFilter($element, $attributeFilter)) {
return false;
}
}
}
return true;
}