public function dependentModelRowUpdated(Kwf_Model_Row_Abstract $row, $action)
 {
     parent::dependentModelRowUpdated($row, $action);
     $models = array($this);
     $models = array_merge($models, $this->_proxyContainerModels);
     foreach ($models as $model) {
         foreach ($model->_exprs as $column => $expr) {
             if ($expr instanceof Kwf_Model_Select_Expr_Parent) {
                 if ($model->getReference($expr->getParent()) === Kwf_Model_RowsSubModel_Interface::SUBMODEL_PARENT) {
                     //nothing to do in that case
                 } else {
                     if ($model->getReferencedModel($expr->getParent()) === $row->getModel()) {
                         $ref = $model->getReference($expr->getParent());
                         foreach ($row->getModel()->getDependentModels() as $depName => $m) {
                             if (!$m instanceof Kwf_Model_Abstract) {
                                 $m = Kwf_Model_Abstract::getInstance($m);
                             }
                             if ($m === $model) {
                                 $res = $this->_getParentMongoModel()->getCollection()->update(array($this->_fieldName . '.' . $ref['column'] => $row->{$row->getModel()->getPrimaryKey()}), array('$set' => array($this->_fieldName . '.$.' . $column => $row->{$expr->getField()})), array('multiple' => true, 'safe' => true));
                                 if (!$res || !$res['ok']) {
                                     throw new Kwf_Exception("update failed");
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
 }