public static RelativeReferenceURLBuilder getRelativeReferenceURLBuilder(
         Map<String, List<String>> baseFileProperties) {
      if (baseFileProperties != null) {
         if (baseFileProperties.containsKey(GitLabReferenceURLBuilder.GITLAB_FILE_NAME_HEADER)
               || baseFileProperties.containsKey(GitLabReferenceURLBuilder.GITLAB_FILE_NAME_HEADER.toLowerCase())) {
            log.debug("Found a GitLab File specific header, returning a GitLabReferenceURLBuilder");
            return new GitLabReferenceURLBuilder();
         }
      }
      log.debug("Returning a SimpleReferenceURLBuilder");
      return new SimpleReferenceURLBuilder();
   }
@Test
   void testGetRelativeReferenceURLBuilder() {
      RelativeReferenceURLBuilder builder = RelativeReferenceURLBuilderFactory.getRelativeReferenceURLBuilder(null);
      assertTrue(builder instanceof SimpleReferenceURLBuilder);

      Map<String, List<String>> properties = Map.of("key", List.of("value1", "value2"));
      builder = RelativeReferenceURLBuilderFactory.getRelativeReferenceURLBuilder(properties);
      assertTrue(builder instanceof SimpleReferenceURLBuilder);

      properties = Map.of(GitLabReferenceURLBuilder.GITLAB_FILE_NAME_HEADER, List.of("value1", "value2"));
      builder = RelativeReferenceURLBuilderFactory.getRelativeReferenceURLBuilder(properties);
      assertTrue(builder instanceof GitLabReferenceURLBuilder);

      properties = Map.of(GitLabReferenceURLBuilder.GITLAB_FILE_NAME_HEADER.toLowerCase(), List.of("value1", "value2"));
      builder = RelativeReferenceURLBuilderFactory.getRelativeReferenceURLBuilder(properties);
      assertTrue(builder instanceof GitLabReferenceURLBuilder);
   }