/**
  * @param kResource $resource
  * @param entry $dbEntry
  * @param asset $asset
  */
 protected function attachResource(kResource $resource, entry $dbEntry, asset $asset = null)
 {
     $service = null;
     switch ($dbEntry->getType()) {
         case entryType::MEDIA_CLIP:
             $service = new MediaService();
             $service->initService('media', 'media', $this->actionName);
             break;
         case entryType::MIX:
             $service = new MixingService();
             $service->initService('mixing', 'mixing', $this->actionName);
             break;
         case entryType::PLAYLIST:
             $service = new PlaylistService();
             $service->initService('playlist', 'playlist', $this->actionName);
             break;
         case entryType::DATA:
             $service = new DataService();
             $service->initService('data', 'data', $this->actionName);
             break;
         case entryType::LIVE_STREAM:
             $service = new LiveStreamService();
             $service->initService('liveStream', 'liveStream', $this->actionName);
             break;
         default:
             throw new KalturaAPIException(KalturaErrors::ENTRY_TYPE_NOT_SUPPORTED, $dbEntry->getType());
     }
     $service->attachResource($resource, $dbEntry, $asset);
 }