addedPrefix = namer.getResolvedName(parentName+Constants.GROUP_SEPARATOR);
public void writeObjects(DataOutputStream file, NameManipulator namer, boolean export)	throws IOException{	// do not generate template data if not is export mode	if (!export)		return;		// export DB option		 String templateName = namer.getResolvedName(getName()); 		 //	 // new fileName	 ///*	// !!! if not already added as addedPrefix	 // get fileName and remove extension	 String rootFileName = namer.getFile().getName();	 int pos = rootFileName.lastIndexOf('.');	 if (pos>0)	 	rootFileName = rootFileName.substring(0, pos);	  		// !!!? path can be removed - relative to root file	 String path = namer.getFile().getAbsolutePath();	 pos = path.lastIndexOf(File.separatorChar);	 if (pos>0)	 	path = path.substring(0, pos+1);	// include File.separatorChar	 StringBuffer fnb = new StringBuffer();	 fnb.append(path);	 fnb.append(rootFileName);	 fnb.append("_");	 fnb.append(templateName.replace('\\', '_').replace(':', '_'));	 fnb.append(".db");	  	 String fn = fnb.toString();	 // override action is already accepted by overriding root DB file	 File newFile = new File(fn);			// /!!!! bug - identical names can be generated !!! 	 file.writeBytes("\n#! "+DBResolver.VDCTSKIP+"\n"); 	 fn = fn.replace('\\', '/'); 	 file.writeBytes(DBResolver.INCLUDE+" \""+fn+"\"\n");*/	 // new substitutions 	 Map properties = null;	 if (namer.getSubstitutions()==null)	 	properties = templateData.getProperties();	 else	 {	 	// add this template substitutions (override existing one)	 	properties = namer.getSubstitutions();	 	properties.putAll(templateData.getProperties());	 }	 	 // new removedPrefix	 String removedPrefix = namer.getRemovedPrefix();	 	 // new addedPrefix	 String addedPrefix = null;	 if (getParent()==null)	 	addedPrefix = namer.getAddedPrefix();	 else	 {	 	// resolve parent group name - this is then addedPrefix	 	// there is a secial case: removedPrefix is 'parentName:", but parentName is 'parentName'	 	String parentName = ((Group)getParent()).getAbsoluteName();	 	 	addedPrefix = namer.getResolvedName(parentName+Constants.GROUP_SEPARATOR);	 	if (addedPrefix.length()==0 || 	 		(addedPrefix.length()==1 && addedPrefix.charAt(0)==Constants.GROUP_SEPARATOR))	 		addedPrefix = null;	 }	 	 //	 NameManipulator newNamer = new DefaultNamer(newFile, removedPrefix, addedPrefix, properties);	 // always pass root file name	 NameManipulator newNamer = new DefaultNamer(namer.getFile(), removedPrefix, addedPrefix, properties);//	 Group.save(getTemplateData().getTemplate().getGroup(), newFile, newNamer);	 getTemplateData().getTemplate().getGroup().writeObjects(file, newNamer, export);	 }