public final function initQueryBuilder(string $stack = null, bool $isSub = false): QueryBuilder
    {
        $stack = $stack ?? $this->getStack(); // use self stack if $stack is null
        if ($stack == null) {
            throw new DatabaseException(sprintf("Null \$stack, set it in '%s' class",
                static::class));
        }

        return new QueryBuilder($this->vendor->getDatabase()->getLink(), $stack, $isSub);
    }