get($sourcePath); if (!$sourceEntry) { throw new \RuntimeException('Source path not found in cache: ' . $sourcePath); } $this->copyFromCache($sourceCache, $sourceEntry, $targetPath); // non-atomic; failed removals can leave duplicates $sourceCache->remove($sourcePath); } }