Program: 58490
Project: 58490
Buggy source:
@Transactional public void insertExpenseLine(ActionRequest request,ActionResponse response){
  User user=AuthUtils.getUser();
  Map<String,Object> requestData=request.getData();
  Project project=Beans.get(ProjectRepository.class).find(new Long(requestData.get("String_Node_Str").toString()));
  Product product=Beans.get(ProductRepository.class).find(new Long(requestData.get("String_Node_Str").toString()));
  if (user != null) {
    Expense expense=expenseServiceProvider.get().getOrCreateExpense(user);
    ExpenseLine expenseLine=new ExpenseLine();
    expenseLine.setExpenseDate(LocalDate.parse(requestData.get("String_Node_Str").toString(),DateTimeFormatter.ISO_DATE));
    expenseLine.setComments(requestData.get("String_Node_Str").toString());
    expenseLine.setExpenseProduct(product);
    expenseLine.setProject(project);
    expenseLine.setUser(user);
    expenseLine.setTotalAmount(new BigDecimal(requestData.get("String_Node_Str").toString()));
    expenseLine.setTotalTax(new BigDecimal(requestData.get("String_Node_Str").toString()));
    expenseLine.setUntaxedAmount(expenseLine.getTotalAmount().subtract(expenseLine.getTotalTax()));
    expenseLine.setToInvoice(new Boolean(requestData.get("String_Node_Str").toString()));
    String justification=(String)requestData.get("String_Node_Str");
    if (!Strings.isNullOrEmpty(justification)) {
      expenseLine.setJustification(Base64.getDecoder().decode(justification));
    }
    expense.addGeneralExpenseLineListItem(expenseLine);
    Beans.get(ExpenseRepository.class).save(expense);
    HashMap<String,Object> data=new HashMap<>();
    data.put("String_Node_Str",expenseLine.getId());
    response.setData(data);
    response.setTotal(1);
  }
}

Fixed version (ground truth):
@Transactional public void insertExpenseLine(ActionRequest request,ActionResponse response){
  User user=AuthUtils.getUser();
  Map<String,Object> requestData=request.getData();
  Project project=Beans.get(ProjectRepository.class).find(new Long(requestData.get("String_Node_Str").toString()));
  Product product=Beans.get(ProductRepository.class).find(new Long(requestData.get("String_Node_Str").toString()));
  if (user != null) {
    Expense expense=Beans.get(ExpenseService.class).getOrCreateExpense(user);
    ExpenseLine expenseLine=new ExpenseLine();
    expenseLine.setExpenseDate(LocalDate.parse(requestData.get("String_Node_Str").toString(),DateTimeFormatter.ISO_DATE));
    expenseLine.setComments(requestData.get("String_Node_Str").toString());
    expenseLine.setExpenseProduct(product);
    expenseLine.setProject(project);
    expenseLine.setUser(user);
    expenseLine.setTotalAmount(new BigDecimal(requestData.get("String_Node_Str").toString()));
    expenseLine.setTotalTax(new BigDecimal(requestData.get("String_Node_Str").toString()));
    expenseLine.setUntaxedAmount(expenseLine.getTotalAmount().subtract(expenseLine.getTotalTax()));
    expenseLine.setToInvoice(new Boolean(requestData.get("String_Node_Str").toString()));
    String justification=(String)requestData.get("String_Node_Str");
    if (!Strings.isNullOrEmpty(justification)) {
      expenseLine.setJustification(Base64.getDecoder().decode(justification));
    }
    expense.addGeneralExpenseLineListItem(expenseLine);
    Beans.get(ExpenseRepository.class).save(expense);
    HashMap<String,Object> data=new HashMap<>();
    data.put("String_Node_Str",expenseLine.getId());
    response.setData(data);
    response.setTotal(1);
  }
}