docs: @SuppressWarnings( "unchecked" )
      private void registerRepositoryInfoType( NodeTypeManager typeManager ) throws RepositoryException {
          // create node type template
          NodeTypeTemplate type = typeManager.createNodeTypeTemplate();
  
          // convert CMIS type's attributes to node type template we have just created
          type.setName("cmis:repository");
          type.setAbstract(false);
          type.setMixin(false);
          type.setOrderableChildNodes(true);
          type.setQueryable(true);
          type.setDeclaredSuperTypeNames(new String[] {JcrConstants.NT_FOLDER});
  
          PropertyDefinitionTemplate vendorName = typeManager.createPropertyDefinitionTemplate();
          vendorName.setAutoCreated(false);
          vendorName.setName("cmis:vendorName");
          vendorName.setMandatory(false);
  
          type.getPropertyDefinitionTemplates().add(vendorName);
  
          PropertyDefinitionTemplate productName = typeManager.createPropertyDefinitionTemplate();
          productName.setAutoCreated(false);
          productName.setName("cmis:productName");
          productName.setMandatory(false);
  
          type.getPropertyDefinitionTemplates().add(productName);
  
          PropertyDefinitionTemplate productVersion = typeManager.createPropertyDefinitionTemplate();
          productVersion.setAutoCreated(false);
          productVersion.setName("cmis:productVersion");
          productVersion.setMandatory(false);
  
          type.getPropertyDefinitionTemplates().add(productVersion);
  
          // register type
          NodeTypeDefinition[] nodeDefs = new NodeTypeDefinition[] {type};
          typeManager.registerNodeTypes(nodeDefs, true);
      }