@Override
 public void setTemplate(ITemplate template) {
   firePropertyChange(PROPERTY_TEMPLATE, this.template, this.template = template);
   if (template == null) return;
   setParameters(new ArrayList<IParameter>(template.getParameters().values()));
   setItems(template.getItems());
   setLabels(template.getObjectLabels());
 }
 private Map<String, IParameter> givenTheTemplateHasParameters() {
   IParameter param = mock(IParameter.class);
   when(param.getName()).thenReturn("foo");
   when(param.clone()).thenReturn(param);
   Map<String, IParameter> parameters = new HashMap<String, IParameter>();
   parameters.put(param.getName(), param);
   when(template.getParameters()).thenReturn(parameters);
   return parameters;
 }