}
public void parseChildElement(XMLStreamReader xtr, BaseElement parentElement) throws Exception {
if (parentElement instanceof UserTask == false && parentElement instanceof StartEvent == false) return;
FormProperty property = new FormProperty();
property.setId(xtr.getAttributeValue(null, "id"));
property.setName(xtr.getAttributeValue(null, "name"));
property.setType(xtr.getAttributeValue(null, "type"));
property.setValue(xtr.getAttributeValue(null, "value"));
property.setVariable(xtr.getAttributeValue(null, "variable"));
property.setExpression(xtr.getAttributeValue(null, "expression"));
property.setDefaultExpression(xtr.getAttributeValue(null, "default"));
property.setDatePattern(xtr.getAttributeValue(null, "datePattern"));
property.setRequired(Boolean.valueOf(xtr.getAttributeValue(null, "required")));
property.setReadable(Boolean.valueOf(xtr.getAttributeValue(null, "readable")));
property.setWriteable(Boolean.valueOf(xtr.getAttributeValue(null, "writable")));
boolean readyWithFormProperty = false;
try {
while (readyWithFormProperty == false && xtr.hasNext()) {
xtr.next();
if (xtr.isStartElement() && "value".equalsIgnoreCase(xtr.getLocalName())) {
FormValue value = new FormValue();
value.setId(xtr.getAttributeValue(null, "id"));
value.setName(xtr.getAttributeValue(null, "name"));
property.getFormValues().add(value);
} else if (xtr.isEndElement() && getElementName().equalsIgnoreCase(xtr.getLocalName())) {
readyWithFormProperty = true;
}
}