public function listDocumentRootReplaced()
    {
        if ($this->pathNameRecord == 'none') {
            throw new \LogicException(
                'Can\'t listDocumentRootReplaced() ' . (!$this->dirs ? 'filenames' : 'dirnames')
                . ' when items\' paths aren\'t recorded'
                . (!$this->requireUnique || !$this->itemValue ? '.' :
                    (', incompatible when both requireUnique is \'on\' and itemValue function defined.')
                )
            );
        }
        $utils = Utils::getInstance();
        $list = $this->getArrayCopy();
        if ($this->pathNameRecord == 'key') {
            $list = array_keys($list);
        }
        foreach ($list as &$pathname) {
            $pathname = $utils->pathReplaceDocumentRoot($pathname, Utils::DOCUMENT_ROOT_REPLACER, true);
        }
        unset($pathname);
        return $list;
    }