NodeList postFunctions = post.getElementsByTagName("function");
List postFunctions = XMLUtil.getChildElements(post, "function");
    protected void init(Element result) {        oldStatus = result.getAttribute("old-status");        status = result.getAttribute("status");        try {            setId(Integer.parseInt(result.getAttribute("id")));        } catch (NumberFormatException e) {        }        dueDate = result.getAttribute("due-date");        try {            split = Integer.parseInt(result.getAttribute("split"));        } catch (Exception ex) {        }        try {            join = Integer.parseInt(result.getAttribute("join"));        } catch (Exception ex) {        }        try {            step = Integer.parseInt(result.getAttribute("step"));            hasStep = true;        } catch (Exception ex) {        }        owner = result.getAttribute("owner");        // set up validators -- OPTIONAL        Element v = XMLUtil.getChildElement(result, "validators");        if (v != null) {            NodeList validators = v.getElementsByTagName("validator");            for (int k = 0; k < validators.getLength(); k++) {                Element validator = (Element) validators.item(k);                ValidatorDescriptor validatorDescriptor = new ValidatorDescriptor(validator);                validatorDescriptor.setParent(this);                this.validators.add(validatorDescriptor);            }        }        // set up pre-functions -- OPTIONAL        Element pre = XMLUtil.getChildElement(result, "pre-functions");        if (pre != null) {            NodeList preFunctions = pre.getElementsByTagName("function");            for (int k = 0; k < preFunctions.getLength(); k++) {                Element preFunction = (Element) preFunctions.item(k);                FunctionDescriptor functionDescriptor = new FunctionDescriptor(preFunction);                functionDescriptor.setParent(this);                this.preFunctions.add(functionDescriptor);            }        }        // set up post-functions - OPTIONAL        Element post = XMLUtil.getChildElement(result, "post-functions");        if (post != null) {            NodeList postFunctions = post.getElementsByTagName("function");            for (int k = 0; k < postFunctions.getLength(); k++) {                Element postFunction = (Element) postFunctions.item(k);                FunctionDescriptor functionDescriptor = new FunctionDescriptor(postFunction);                functionDescriptor.setParent(this);                this.postFunctions.add(functionDescriptor);            }        }    }