private void doItemDefs(QNodeTypeDefinitionBuilder ntd) throws ParseException {
List<QPropertyDefinition> propertyDefinitions = new LinkedList<QPropertyDefinition>();
List<QNodeDefinition> nodeDefinitions = new LinkedList<QNodeDefinition>();
while (currentTokenEquals(Lexer.PROPERTY_DEFINITION) || currentTokenEquals(Lexer.CHILD_NODE_DEFINITION)) {
if (currentTokenEquals(Lexer.PROPERTY_DEFINITION)) {
QPropertyDefinitionBuilder pd = ntd.newQPropertyDefinition();
pd.setAutoCreated(false);
pd.setDeclaringNodeType(ntd.getName());
pd.setDefaultValues(null);
pd.setMandatory(false);
pd.setMultiple(false);
pd.setOnParentVersion(OnParentVersionAction.COPY);
pd.setProtected(false);
pd.setRequiredType(PropertyType.STRING);
pd.setValueConstraints(QValueConstraint.EMPTY_ARRAY);
pd.setFullTextSearchable(true);
pd.setQueryOrderable(true);
pd.setAvailableQueryOperators(Operator.getAllQueryOperators());
nextToken();
doPropertyDefinition(pd, ntd);
propertyDefinitions.add(pd.build());
} else if (currentTokenEquals(Lexer.CHILD_NODE_DEFINITION)) {
QNodeDefinitionBuilder nd = ntd.newQNodeDefinitionBuilder();
nd.setAllowsSameNameSiblings(false);