docs: private void loadBuildPropertyFile(Project project, TestContext context) {
          if (StringUtils.hasText(propertyFilePath)) {
              String propertyFileResource = context.replaceDynamicContentInString(propertyFilePath);
              log.info("Reading build property file: " + propertyFileResource);
              Properties fileProperties;
              try {
                  fileProperties = PropertiesLoaderUtils.loadProperties(new PathMatchingResourcePatternResolver().getResource(propertyFileResource));
                  
                  for (Entry<Object, Object> entry : fileProperties.entrySet()) {
                      String propertyValue = entry.getValue() != null ? context.replaceDynamicContentInString(entry.getValue().toString()) : "";
  
                      if (log.isDebugEnabled()) {
                          log.debug("Set build property from file resource: " + entry.getKey() + "=" + propertyValue);
                      }
                      project.setProperty(entry.getKey().toString(), propertyValue);
                  }
              } catch (IOException e) {
                  throw new CitrusRuntimeException("Failed to read build property file", e);
              }
          }
      }