public boolean performFinish() { Set ids = new HashSet(); CompositeMapUtil.collectAttribueValues(ids, "id", currentNode.getRoot()); WizardPage nextPage = (WizardPage) getPage(nextPageName); if (LoopupCodePage.PAGE_NAME.equals(nextPageName)) { LoopupCodePage loopupCodePage = (LoopupCodePage) nextPage; CompositeMap child = CompositeMapUtil.addElement(currentNode, childQN); String loopupCode = loopupCodePage.getLookUpCode(); child.put("loopupCode", loopupCodePage.getLookUpCode()); child.put("id", getId(ids, loopupCode)); return true; } if (ManualDataSetPage.PAGE_NAME.equals(nextPageName)) { ManualDataSetPage manualDataSetPage = (ManualDataSetPage) nextPage; CompositeMap child = CompositeMapUtil.addElement(currentNode, childQN); child.put("id", manualDataSetPage.getId()); return true; } if (BMSelectionPage.PAGE_NAME.equals(nextPageName)) { BMSelectionPage bmSelectionPage = (BMSelectionPage) nextPage; String[] names = bmSelectionPage.getSelection().split(","); for (int i = 0; i < names.length; i++) { CompositeMap child = CompositeMapUtil.addElement(currentNode, childQN); configCompositeMap( child, names[i], bmSelectionPage.getJustForInput(), bmSelectionPage.getFromServer(), bmSelectionPage.getCanSave(), ids); } } return true; }