public function findPlaceholders(array $placeholders = [], $recursive = false)
    {
        if (empty($placeholders)) {
            return [];
        }
        $result = [];
        foreach ($placeholders as $name => $value) {
            if (is_int($name)) {

                if ($this->existsPlaceholder($value)) {

                    $result[$this->_prepareNamePlaceholder($value)] = $this->getPlaceholder($value, false);
                } elseif ($recursive) {
                    /** @var static $scope */
                    foreach (array_reverse($this->scopes, true) as $scope) {
                        if ($scope->existsPlaceholder($value)) {
                            $result[$this->_prepareNamePlaceholder($value)] = $scope->getPlaceholder($value);
                            break;
                        }
                    }
                }
                continue;
            }
            $result[$name] = $value;
        }

        return $result;
    }