docs: protected void parsePropertyDefinition( TokenStream tokens,
                                              JcrNodeTypeTemplate nodeType ) throws ConstraintViolationException {
          tokens.consume('-');
          Name name = parseName(tokens);
          JcrPropertyDefinitionTemplate propDefn = new JcrPropertyDefinitionTemplate(context);
          propDefn.setName(string(name));
  
          // Parse the (optional) required type ...
          parsePropertyType(tokens, propDefn, PropertyType.STRING.getName());
  
          // Parse the default values ...
          parseDefaultValues(tokens, propDefn);
  
          // Parse the property attributes (and vendor extensions) ...
          parsePropertyAttributes(tokens, propDefn, nodeType);
  
          // Parse the property constraints ...
          parseValueConstraints(tokens, propDefn);
  
          // Parse the vendor extensions (appearing after the constraints) ...
          List<Property> properties = new LinkedList<Property>();
          parseVendorExtensions(tokens, properties);
          applyVendorExtensions(nodeType, properties);
  
          nodeType.getPropertyDefinitionTemplates().add(propDefn);
      }