protected BudgetLineItem findOrCreateLineItem( List<BudgetLineItem> lineItems, BudgetSubAwardPeriodDetail subAwardDetail, BudgetSubAwards subAward, BudgetPeriod budgetPeriod, String costElement) { for (BudgetLineItem curLineItem : lineItems) { if (StringUtils.equals(curLineItem.getCostElement(), costElement)) { return curLineItem; } } // if we didn't find one already BudgetLineItem newLineItem = new BudgetLineItem(); newLineItem.setCostElement(costElement); newLineItem.setSubAwardNumber(subAwardDetail.getSubAwardNumber()); newLineItem.setLineItemDescription(subAward.getOrganizationName()); getBudgetService().populateNewBudgetLineItem(newLineItem, budgetPeriod); lineItems.add(newLineItem); return newLineItem; }