protected function filterItem(array $item, array $options)
    {
        if ($options['filter']) {
            $f = call_user_func($options['filter'], $item);
            if ($f) {
                return $f;
            }
        }
        if (!empty($item['class'])) {
            $result = $this->filterByClass($item, $options);
            if ($result !== false) {
                return $result;
            }
        }
        if (!empty($item['file'])) {
            return $this->filterByFile($item, $options);
        }
        return self::FILTER_SKIP;
    }