/**
  * Get file object
  *
  * @param string $identifier Identifier
  *
  * @return \TYPO3\CMS\Core\Resource\File|\TYPO3\CMS\Core\Resource\FileInterface|\TYPO3\CMS\Core\Resource\Folder
  * @throws \TYPO3\CMS\Core\Resource\Exception\InsufficientFileAccessPermissionsException
  * @throws \TYPO3\CMS\Core\Resource\Exception\InvalidFileException
  */
 protected function getFileObject($identifier)
 {
     $object = $this->fileFactory->retrieveFileOrFolderObject($identifier);
     if (!is_object($object)) {
         throw new \TYPO3\CMS\Core\Resource\Exception\InvalidFileException('The item ' . $identifier . ' was not a file or directory!!', 1320122453);
     }
     // early escape for fe_users path
     if (strpos($identifier, $this->fileService->getUploadFolder()) === 0 || strpos($identifier, $this->fileService->getTempFolder()) === 0) {
         return $object;
     }
     // continue like the original one....
     if ($object->getStorage()->getUid() === 0) {
         throw new \TYPO3\CMS\Core\Resource\Exception\InsufficientFileAccessPermissionsException('You are not allowed to access files outside your storages', 1375889830);
     }
     return $object;
 }