docs: protected ObjectData collectObjectData(
          CmsCmisCallContext context,
          CmsObject cms,
          CmsResource resource,
          Set<String> filter,
          String renditionFilter,
          boolean includeAllowableActions,
          boolean includeAcl,
          IncludeRelationships includeRelationships)
      throws CmsException {
  
          ObjectDataImpl result = new ObjectDataImpl();
          ObjectInfoImpl objectInfo = new ObjectInfoImpl();
          result.setProperties(collectProperties(cms, resource, filter, objectInfo));
  
          if (includeAllowableActions) {
              result.setAllowableActions(collectAllowableActions(cms, resource));
          }
  
          if (includeAcl) {
              result.setAcl(collectAcl(cms, resource, true));
              result.setIsExactAcl(Boolean.FALSE);
          }
  
          if ((includeRelationships != null) && (includeRelationships != IncludeRelationships.NONE)) {
              RelationshipDirection direction;
              if (includeRelationships == IncludeRelationships.SOURCE) {
                  direction = RelationshipDirection.SOURCE;
              } else if (includeRelationships == IncludeRelationships.TARGET) {
                  direction = RelationshipDirection.TARGET;
              } else {
                  direction = RelationshipDirection.EITHER;
              }
  
              List<ObjectData> relationData = m_repository.getRelationshipObjectData(
                  context,
                  cms,
                  resource,
                  direction,
                  CmsCmisUtil.splitFilter("*"),
                  false);
              result.setRelationships(relationData);
          }
  
          result.setRenditions(collectRenditions(cms, resource, renditionFilter, objectInfo));
  
          if (context.isObjectInfoRequired()) {
              objectInfo.setObject(result);
              context.getObjectInfoHandler().addObjectInfo(objectInfo);
          }
          return result;
      }