public EV1Model convertToDomainObject(EV1FormBackingObject ev1FormBackingObject) { // first get the ev1 and group params recalculated calculator.recalculateEV1GroupParameters(ev1FormBackingObject); EV1Model ev1Model = new EV1Model(); NumbersList groupValues = new NumbersList(); ListOfList paramValues = new ListOfList(); List<NumbersListEntry> listOfGroupVal = new ArrayList<NumbersListEntry>(); List<ListOfListEntry> listOfGroups = new ArrayList<ListOfListEntry>(); // fill the param values for (int i = 0; i < 10; i++) { ListOfListEntry lle = new ListOfListEntry(); List<NumbersListEntry> listOfParamValues = new ArrayList<NumbersListEntry>(); lle.setEntryOrder(i); NumbersList group = new NumbersList(); for (int j = 0; j < ev1FormBackingObject.getParameterValues().get(i).size(); j++) { NumbersListEntry entry = new NumbersListEntry(); entry.setEntry(j); entry.setValue(ev1FormBackingObject.getParameterValues().get(i).get(j)); listOfParamValues.add(j, entry); } group.setNumbersListEntries(listOfParamValues); lle.setNumbersList(group); listOfGroups.add(i, lle); } paramValues.setListOfListEntries(listOfGroups); // fill the group values for (int i = 0; i < 10; i++) { NumbersListEntry nle = new NumbersListEntry(); nle.setEntry(i); nle.setValue(ev1FormBackingObject.getmGroupValues().get(i)); listOfGroupVal.add(i, nle); } groupValues.setNumbersListEntries(listOfGroupVal); ev1Model.setmGroupValues(groupValues); ev1Model.setEv1value(ev1FormBackingObject.getEv1Value()); ev1Model.setmParamValues(paramValues); return ev1Model; }