protected function checkType(ExpressionContract $expression)
    {
        if (!$expression instanceof ConstraintContract) {
            throw new InvalidArgumentException("ConstraintGroup works only with Constraint not " . Type::of($expression));
        }

        return $expression;
    }