@Override
  @Transactional(readOnly = false)
  public Defect createDefect(Defect defect) {
    defect.setCreatedDate(new LocalDate());
    defect.setStatus(DefectStatus.NEW);
    Defect newDefect = defectRepository.save(defect);

    Map<String, Object> vars = new HashMap<String, Object>();
    vars.put("defectId", newDefect.getId());
    vars.put("assignee", defect.getAssignedTo());
    runtimeService.startProcessInstanceByKey(
        DEFECT_TRACKING_PROCESS_KEY, newDefect.getId().toString(), vars);
    return defect;
  }