public function containsAll($contains, int $offset = 0): bool
    {
        if (empty($contains)) {
            return false;
        }

        $parameters = $this->parameters($contains);


        if ($offset > $this->length()) {
            return false;
        }

        foreach ($parameters as $needle) {
            if (strpos($this->string, $needle->value(), $offset) === false) {
                return false;
            }
        }

        return true;
    }