if (elementType != null) {
if ("hopobject".equals(qName) && currentNode != null) { currentNode.invokeOnInit(); } else if (elementType != null) {
    public void endElement(String namespaceURI, String localName, String qName)                    throws SAXException {        if (elementType != null) {            Property prop = new Property(elementName, currentNode);            String charValue = charBuffer.toString();            charBuffer.setLength(0);            if ("boolean".equals(elementType)) {                if ("true".equals(charValue)) {                    prop.setBooleanValue(true);                } else {                    prop.setBooleanValue(false);                }            } else if ("date".equals(elementType)) {                SimpleDateFormat format = new SimpleDateFormat(DATEFORMAT);                try {                    Date date = format.parse(charValue);                    prop.setDateValue(date);                } catch (ParseException e) {                    prop.setStringValue(charValue);                }            } else if ("float".equals(elementType)) {                prop.setFloatValue((new Double(charValue)).doubleValue());            } else if ("integer".equals(elementType)) {                prop.setIntegerValue((new Long(charValue)).longValue());            } else {                prop.setStringValue(charValue);            }            if (propMap == null) {                propMap = new Hashtable();                currentNode.setPropMap(propMap);            }            propMap.put(elementName.toLowerCase(), prop);            elementName = null;            elementType = null;            charValue = null;        }    }