@Transactional
 @RequestMapping("save")
 @ResponseBody
 private String save(AtribuicaoForm form, Context context) {
   try {
     for (Atribuicao atribuicao : form.getAtribuicoes()) {
       if (atribuicao.getId() == null) {
         atribuicao.setOrganizacao(context.getUser().getOrganizacao());
         service.insert(context, atribuicao);
       } else {
         Atribuicao salvo = service.getFromId(context, atribuicao.getId());
         if (!salvo.getQuestionario().equals(atribuicao.getQuestionario())) {
           salvo.setQuestionario(atribuicao.getQuestionario());
           salvo.getRespostas().clear();
           service.update(context, salvo);
         }
       }
     }
   } catch (Exception e) {
     return new Gson()
         .toJson(
             new JsonResult(
                 context,
                 JsonResult.ResultType.error,
                 "Ocorreu um erro ao processar a requisição"));
   }
   return new Gson()
       .toJson(new JsonResult(context, JsonResult.ResultType.success, "Salvo com sucesso"));
 }