docs: void setup() throws CmsException {
  
          m_types = new HashMap<String, TypeDefinitionContainerImpl>();
          m_typeList = new ArrayList<TypeDefinitionContainer>();
          m_cmsPropertyDefinitions = m_adminCms.readAllPropertyDefinitions();
  
          // folder type
          FolderTypeDefinitionImpl folderType = new FolderTypeDefinitionImpl();
          folderType.setBaseTypeId(BaseTypeId.CMIS_FOLDER);
          folderType.setIsControllableAcl(Boolean.TRUE);
          folderType.setIsControllablePolicy(Boolean.FALSE);
          folderType.setIsCreatable(Boolean.TRUE);
          folderType.setDescription("Folder");
          folderType.setDisplayName("Folder");
          folderType.setIsFileable(Boolean.TRUE);
          folderType.setIsFulltextIndexed(Boolean.FALSE);
          folderType.setIsIncludedInSupertypeQuery(Boolean.TRUE);
          folderType.setLocalName("Folder");
          folderType.setLocalNamespace(NAMESPACE);
          folderType.setIsQueryable(Boolean.TRUE);
          folderType.setQueryName("cmis:folder");
          folderType.setId(FOLDER_TYPE_ID);
  
          addBasePropertyDefinitions(folderType);
          addFolderPropertyDefinitions(folderType);
          addCmsPropertyDefinitions(folderType);
          addProviderPropertyDefinitions(folderType);
  
          addTypeInternal(folderType);
  
          // document type
          DocumentTypeDefinitionImpl documentType = new DocumentTypeDefinitionImpl();
          documentType.setBaseTypeId(BaseTypeId.CMIS_DOCUMENT);
          documentType.setIsControllableAcl(Boolean.TRUE);
          documentType.setIsControllablePolicy(Boolean.FALSE);
          documentType.setIsCreatable(Boolean.TRUE);
          documentType.setDescription("Document");
          documentType.setDisplayName("Document");
          documentType.setIsFileable(Boolean.TRUE);
          documentType.setIsFulltextIndexed(Boolean.FALSE);
          documentType.setIsIncludedInSupertypeQuery(Boolean.TRUE);
          documentType.setLocalName("Document");
          documentType.setLocalNamespace(NAMESPACE);
          documentType.setIsQueryable(Boolean.TRUE);
          documentType.setQueryName("cmis:document");
          documentType.setId(DOCUMENT_TYPE_ID);
  
          documentType.setIsVersionable(Boolean.FALSE);
          documentType.setContentStreamAllowed(ContentStreamAllowed.REQUIRED);
  
          addBasePropertyDefinitions(documentType);
          addDocumentPropertyDefinitions(documentType);
          addCmsPropertyDefinitions(documentType);
          addProviderPropertyDefinitions(documentType);
  
          addTypeInternal(documentType);
  
          // relationship types
          RelationshipTypeDefinitionImpl relationshipType = new RelationshipTypeDefinitionImpl();
          relationshipType.setBaseTypeId(BaseTypeId.CMIS_RELATIONSHIP);
          relationshipType.setIsControllableAcl(Boolean.FALSE);
          relationshipType.setIsControllablePolicy(Boolean.FALSE);
          relationshipType.setIsCreatable(Boolean.FALSE);
          relationshipType.setDescription("Relationship");
          relationshipType.setDisplayName("Relationship");
          relationshipType.setIsFileable(Boolean.FALSE);
          relationshipType.setIsIncludedInSupertypeQuery(Boolean.TRUE);
          relationshipType.setLocalName("Relationship");
          relationshipType.setLocalNamespace(NAMESPACE);
          relationshipType.setIsQueryable(Boolean.FALSE);
          relationshipType.setQueryName("cmis:relationship");
          relationshipType.setId(RELATIONSHIP_TYPE_ID);
          List<String> typeList = new ArrayList<String>();
          typeList.add("cmis:document");
          typeList.add("cmis:folder");
          relationshipType.setAllowedSourceTypes(typeList);
          relationshipType.setAllowedTargetTypes(typeList);
          addBasePropertyDefinitions(relationshipType);
          addRelationPropertyDefinitions(relationshipType);
          addTypeInternal(relationshipType);
  
          for (CmsRelationType relType : CmsRelationType.getAll()) {
              createRelationshipType(relType);
          }
          m_lastUpdate = System.currentTimeMillis();
      }