public function createAssetFactory(AssetFactoryContainer $parent, $name, $type, $mode = c\T::NONE)
 {
     if (trim($name) == "") {
         throw new e\CreationErrorException(S_SPAN . c\M::EMPTY_ASSET_FACTORY_NAME . E_SPAN);
     }
     $asset = AssetTemplate::getAssetFactory();
     $asset->assetFactory->name = $name;
     $asset->assetFactory->parentContainerPath = $parent->getPath();
     $asset->assetFactory->siteName = $parent->getSiteName();
     $asset->assetFactory->assetType = $type;
     $asset->assetFactory->workflowMode = $mode;
     return $this->createAsset($asset, AssetFactory::TYPE, $this->getPath($parent, $name), $parent->getSiteName());
 }