public function addFilter($filter)
    {
        try {
            $this->getFilterChain()
                ->add(StaticFilter::create($filter));
        } catch (FilterException $caught) {
            throw new InvalidArgumentException(
                $caught->getMessage(),
                0,
                $caught
            );
        }
        return $this;
    }