/**
  * @param Filesystem $fsToCheck The file system to check
  *
  * @return int Returns the number of files that were trashed.
  * @throws \Exception
  */
 public function expireFiles($fsToCheck)
 {
     $_count = 0;
     try {
         /** @type Collection $_hashes */
         $_hashes = RouteHash::where('expire_date', '<', Carbon::createFromTimestamp(time() - config('snapshot.days-to-keep') * DateTimeIntervals::SECONDS_PER_DAY))->get();
         if (!empty($_hashes)) {
             foreach ($_hashes as $_hash) {
                 if ($fsToCheck->has($_hash->actual_path_text)) {
                     if ($this->moveToTrash($fsToCheck, $_hash->actual_path_text)) {
                         //  ONLY delete route_hash row if file was MOVED/DELETED
                         $_hash->delete();
                     }
                 }
                 unset($_hash);
             }
             unset($_hashes);
         }
     } catch (\Exception $_ex) {
         $this->error($_ex->getMessage());
         throw $_ex;
     }
     return $_count;
 }