private CollectionGroup getCollectionGroup(String routeNumber, String sessionCode, Date date) { if (date == null) { throw new IllegalArgumentException("date cannot be null"); } final String key = String.format("%5s-%2s-%tF", routeNumber, sessionCode, date); CollectionGroup group = groups.get(key); if (group == null) { group = DairyFactory.eINSTANCE.createCollectionGroup(); group.setReferenceNumber(key); group.setCollectionDate(date); group.setStatus(JournalStatus.COMPLETE); group.setDriver(DEFAULT_DRIVER); group.setType(CollectionGroupType.JOURNAL_GROUP); group.setCollectionCenter(getCenter(routeNumber)); groups.put(key, group); } return group; }