docs: @Override
      public ObjectData compileObjectType(Set<String> filter, Boolean includeAllowableActions,
              ObjectInfoHandler objectInfos, boolean requiresObjectInfo) {
  
          try {
              ObjectDataImpl result = new ObjectDataImpl();
              ObjectInfoImpl objectInfo = new ObjectInfoImpl();
  
              PropertiesImpl properties = new PropertiesImpl();
              filter = filter == null ? null : new HashSet<>(filter);
              compileProperties(properties, filter, objectInfo);
              result.setProperties(properties);
  
              if (Boolean.TRUE.equals(includeAllowableActions)) {
                  result.setAllowableActions(getAllowableActions());
              }
  
              if (requiresObjectInfo) {
                  objectInfo.setObject(result);
                  objectInfos.addObjectInfo(objectInfo);
              }
  
              return result;
          } catch (RepositoryException e) {
              throw new CmisRuntimeException(e.getMessage(), e);
          }
      }