/**
  * Function to allow overruling of transform for certain models
  *
  * @param \MUtil_Model_ModelAbstract $model Parent model
  * @param \MUtil_Model_ModelAbstract $sub Sub model
  * @param array $data The nested data rows
  * @param array $join The join array
  * @param string $name Name of sub model
  * @param boolean $new True when loading a new item
  * @param boolean $isPostData With post data, unselected multiOptions values are not set so should be added
  */
 protected function transformLoadSubModel(\MUtil_Model_ModelAbstract $model, \MUtil_Model_ModelAbstract $sub, array &$data, array $join, $name, $new, $isPostData)
 {
     foreach ($data as $key => $row) {
         // E.g. if loaded from a post
         if (isset($row[$name])) {
             $rows = $sub->processAfterLoad($row[$name], $new, $isPostData);
         } elseif ($new) {
             $rows = $sub->loadAllNew();
         } else {
             $filter = $sub->getFilter();
             foreach ($join as $parent => $child) {
                 if (isset($row[$parent])) {
                     $filter[$child] = $row[$parent];
                 }
             }
             // If $filter is empty, treat as new
             if (empty($filter)) {
                 $rows = $sub->loadAllNew();
             } else {
                 $rows = $sub->load($filter);
             }
         }
         $data[$key][$name] = $rows;
     }
 }