/**
  * @param  \Application\Model\CommercialGroupModel $model
  * @return mixed
  * @throws EricssonException
  */
 public function updateScreening(CommercialGroupModel $model)
 {
     $this->getCache()->remove($model->getId());
     $methodName = self::METHOD_NAME_UPDATE_SCREENING;
     /**
      * @var $proto \Application\Proto\CommercialGroup\UpdateScreeningData
      */
     $proto = $this->_createProto($methodName);
     $proto->setId($model->getId());
     $data = $this->_mapModelToEricssonModel($model->exportData());
     if (isset($data['white_list'])) {
         $whiteList = new \Application\Proto\ScreeningList();
         $whiteList->parse($data['white_list'], new \DrSlump\Protobuf\Codec\PhpArray());
         $proto->setWhiteList($whiteList);
     }
     if (isset($data['black_list'])) {
         $blackList = new \Application\Proto\ScreeningList();
         $blackList->parse($data['black_list'], new \DrSlump\Protobuf\Codec\PhpArray());
         $proto->setBlackList($blackList);
     }
     if (isset($data['roaming_list'])) {
         $roamingList = new \Application\Proto\ScreeningList();
         $roamingList->parse($data['roaming_list'], new \DrSlump\Protobuf\Codec\PhpArray());
         $proto->setRoamingList($roamingList);
     }
     $watcher = $this->_constructWatcherToTransaction();
     $watcher->params->action = 'commercialGroupUpdateScreeningList';
     $watcher->params->commercialGroupId = $model->id;
     $watcher->params->count = $model->subscriberCount;
     return $this->_sendAsyncRequest($methodName, $proto, array(), array(), $watcher);
 }