private void addChildren(final List messages, final MessageNode mn) { for (final Iterator iterMsg = messages.iterator(); iterMsg.hasNext(); ) { final Message msg = (Message) iterMsg.next(); if ((msg.getParent() != null) && (msg.getParent().getKey() == mn.getKey())) { final MessageNode childNode = new MessageNode(msg); mn.addChild(childNode); // FIXME:as:c next line is not necessary childNode.setParent(mn); addChildren(messages, childNode); } } }