@Override
 public String put(K key, String value) {
   value = TemplateEngineHelper.externalizeTemplateString(template.getTemplateInfo(), value);
   String v = super.put(key, value);
   template.setDirty();
   return v;
 }
 @Override
 public void putAll(Map<? extends K, ? extends String> map) {
   for (K key : map.keySet()) {
     String value = map.get(key);
     value = TemplateEngineHelper.externalizeTemplateString(template.getTemplateInfo(), value);
     super.put(key, value);
   }
   template.setDirty();
 }
 /** @return String, which contains the Label */
 public String getLabel() {
   if (label == null) {
     label = templateDescriptor.getRootElement().getAttribute(LABEL).trim();
   }
   return TemplateEngineHelper.externalizeTemplateString(templateInfo, label);
 }
 /** @return String, which contains the description */
 public String getDescription() {
   if (description == null) {
     description = templateDescriptor.getRootElement().getAttribute(DESCRIPTION).trim();
   }
   return TemplateEngineHelper.externalizeTemplateString(templateInfo, description);
 }