@RequestMapping(value = "/project/{projectName}/appender/copy.html", method = RequestMethod.GET)
 public String getAppenders(
     @PathVariable("projectName") final String projectName, final Model model) {
   final ProjectConfig project = getProject(projectName);
   model.addAttribute("project", project);
   model.addAttribute("appenders", project.getAppenders());
   model.addAttribute("spec", new CopySpec(AppenderConfig.class));
   return VIEW_NAME;
 }
  @RequestMapping(value = "/project/{projectName}/appender/copy.html", method = RequestMethod.POST)
  public String copy(
      @Valid @ModelAttribute("spec") final CopySpec spec, final BindingResult result) {
    if (result.hasErrors()) {
      return VIEW_NAME;
    }

    final AppenderConfig source = configManager.find(AppenderConfig.class, spec.getSourceId());
    final ProjectConfig project = source.getProject();
    final AppenderConfig newAppender = ControllerHelper.cloneAppender(source);
    newAppender.setName(spec.getName());
    newAppender.setProject(project);
    project.addAppender(newAppender);
    configManager.save(project);
    return String.format("redirect:/secure/project/%s/edit.html#appender", project.getName());
  }