public function defaultFilterHandler($key, $value, $expr)
    {
        $filter = new Filter();
        $filter->setKey($key);

        if (is_array($value)) {
            $count = 1;

            $composite = $expr->andX();

            foreach ($value as $paramName => $valueItem) {
                $val = $this->parseValue($valueItem);
                $placeholder = sprintf('%s_%s_%s', $key, $paramName, $count);
                $exprMethod = $val['operator'];
                $composite->add($expr->$exprMethod($this->alias . $key, ':' . $placeholder));
                $filter->setParameter($placeholder, $val['value']);

                $count ++;
            }
            $filter->setExpression($composite);

            return $filter;
        }

        $val = $this->parseValue($value);
        $placeholder = $key . '_1';
        $exprMethod = $val['operator'];

        $filter->setExpression($expr->andX($expr->$exprMethod($this->alias . $key, ':' . $placeholder)));
        $filter->setParameters([$placeholder => $val['value']]);

        return $filter;
    }