@Override
 public Template getTemplate(String templateId) throws WorkflowException {
   AbstractTemplate abstractTemplate =
       WorkflowServiceDataHolder.getInstance().getTemplates().get(templateId);
   Template template = null;
   if (abstractTemplate != null) {
     template = new Template();
     template.setTemplateId(abstractTemplate.getTemplateId());
     template.setName(abstractTemplate.getName());
     template.setDescription(abstractTemplate.getDescription());
     template.setParametersMetaData(abstractTemplate.getParametersMetaData());
   }
   return template;
 }
 @Override
 public List<Template> listTemplates() throws WorkflowException {
   Map<String, AbstractTemplate> templateMap =
       WorkflowServiceDataHolder.getInstance().getTemplates();
   List<AbstractTemplate> templateList = new ArrayList<>(templateMap.values());
   List<Template> templates = new ArrayList<Template>();
   if (templateList != null) {
     for (AbstractTemplate abstractTemplate : templateList) {
       Template template = new Template();
       template.setTemplateId(abstractTemplate.getTemplateId());
       template.setName(abstractTemplate.getName());
       template.setDescription(abstractTemplate.getDescription());
       template.setParametersMetaData(abstractTemplate.getParametersMetaData());
       templates.add(template);
     }
   }
   return templates;
 }