public function updateTemplate(Folder $f = NULL, $exception_thrown = true)
 {
     $this->checkSourceTargetSite();
     // sub-folder
     if (isset($f)) {
         $source_asset_tree = $f->getAssetTree();
     } else {
         $source_asset_tree = $this->source_site->getBaseFolderAssetTree();
     }
     $source_asset_tree->traverse(array(Template::TYPE => array("CascadeInstances::assetTreeUpdateTemplate")), array('source-site' => $this->source_site, 'target-cascade' => $this->target_cascade, 'target-site' => $this->target_site, 'exception-thrown' => $exception_thrown));
     return $this;
 }