/**
  * Compute de differences between what's in the storage system and what's in the database
  */
 protected function computeFileSystemDifferences()
 {
     $entityFileNameByFilesystems = [];
     foreach ($this->resourceManager->getResourceConfigurations() as $resourceConfiguration) {
         $fsKey = $resourceConfiguration->getFilesystemKey();
         $fileNames = $this->getRepository($resourceConfiguration)->getFileNames()->toArray();
         if (!array_key_exists($fsKey, $entityFileNameByFilesystems)) {
             $entityFileNameByFilesystems[$fsKey] = $fileNames;
         } else {
             $entityFileNameByFilesystems[$fsKey] = array_merge($entityFileNameByFilesystems[$fsKey], $fileNames);
         }
     }
     foreach ($this->fileSystems as $fsKey => $fileSystem) {
         $existingFileNames = [];
         foreach ($fileSystem->keys() as $entityFileName) {
             if ($entityFileName === '.gitkeep') {
                 continue;
             }
             $existingFileNames[$entityFileName] = $entityFileName;
         }
         $entityFileNames = $entityFileNameByFilesystems[$fsKey];
         $this->extraFiles[$fsKey] = array_diff_key($existingFileNames, $entityFileNames);
         $this->missingFiles[$fsKey] = array_diff_key($entityFileNames, $existingFileNames);
     }
 }