protected function andWith(array $with, $mode)
    {
        return (
            implode(
                $mode === self::MODE_OR ? '|' : ',',
                array_map([$this, 'normalize'], $with)
            )
        );
    }