/**
  * Binding files with owner
  *
  * @param int $ownerId
  * @param int $ownerType
  * @param array $files
  * @return array|bool
  */
 private function bindMultiple($ownerId, $ownerType, $files)
 {
     $files = ArrayHelper::getValue($files, 'files', []);
     $newFiles = ArrayHelper::index(File::findAll(array_keys($files)), 'id');
     $currentFiles = ArrayHelper::index(File::getByOwner($ownerId, $ownerType), 'id');
     if (count($newFiles)) {
         foreach ($newFiles as $file) {
             if (!$file->isOwner($ownerId, $ownerType)) {
                 unset($newFiles[$file->id]);
                 continue;
             }
             if (!$this->bindMultipleFile($file, $ownerId, $files)) {
                 continue;
             }
         }
         // delete unnecessary files
         foreach ($currentFiles as $currFile) {
             if (!array_key_exists($currFile->id, $newFiles)) {
                 $currFile->delete();
             }
         }
     } else {
         // if empty array — delete current files
         foreach ($currentFiles as $currFile) {
             $currFile->delete();
         }
     }
     return $newFiles;
 }