docs: public List<TypeDefinitionContainer> getTypeDescendants(
  
          String typeId,
          BigInteger depth,
          boolean includePropertyDefinitions) {
  
          refresh();
          List<TypeDefinitionContainer> result = new ArrayList<TypeDefinitionContainer>();
  
          // check depth
          int d = (depth == null ? -1 : depth.intValue());
          if (d == 0) {
              throw new CmisInvalidArgumentException("Depth must not be 0!");
          }
  
          if (typeId == null) {
              result.add(getTypeDescendants(d, m_types.get(FOLDER_TYPE_ID), includePropertyDefinitions));
              result.add(getTypeDescendants(d, m_types.get(DOCUMENT_TYPE_ID), includePropertyDefinitions));
              result.add(getTypeDescendants(d, m_types.get(RELATIONSHIP_TYPE_ID), includePropertyDefinitions));
          } else {
              TypeDefinitionContainer tc = m_types.get(typeId);
              if (tc != null) {
                  result.add(getTypeDescendants(d, tc, includePropertyDefinitions));
              }
          }
  
          return result;
      }