/**
  * Method to set the current file adapter
  *
  * @return  MediaModelFileAdapterInterfaceAdapter
  * @since 3.7.0
  */
 protected function loadFileAdapter()
 {
     if ($this->fileAdapter instanceof MediaModelFileAdapterInterfaceAdapter) {
         return $this->fileAdapter;
     }
     if (!isset($this->fileProperties['file_adapter'])) {
         return false;
     }
     $adapterFactory = new MediaModelFileAdapter();
     $this->fileAdapter = $adapterFactory->getFileAdapter($this->fileProperties['file_adapter']);
     $this->fileAdapter->setFilePath($this->fileProperties['path']);
     return $this->fileAdapter;
 }
 /**
  * Return a file type object
  *
  * @param   string                                $filePath
  * @param   MediaModelFileAdapterInterfaceAdapter $fileAdapter
  *
  * @return  MediaModelFileTypeInterface
  *
  * @since   3.6
  */
 public function getFileType($filePath, $fileAdapter)
 {
     /** @var $fileAdapter MediaModelFileAdapterInterfaceAdapter */
     // Loop through the available file types and match this file accordingly
     foreach ($this->getAvailableFileTypes() as $availableFileType) {
         /** @var $availableFileType MediaModelFileTypeInterface */
         // Detect the MIME-type
         $mimeType = $fileAdapter->setFilePath($filePath)->getMimeType();
         if (in_array($mimeType, $availableFileType->getMimeTypes())) {
             return $availableFileType;
         }
         if (in_array(JFile::getExt($filePath), $availableFileType->getExtensions())) {
             return $availableFileType;
         }
     }
     return $this->availableFileTypes['default'];
 }