code: private void addFlagImagesSetToProperties(final Job prop, final Set<URI> set) {
          final Set<URI> newSet = new LinkedHashSet<>(128);
          for (final URI file: set) {
  //            assert file.isAbsolute();
              if (file.isAbsolute()) {
                  // no need to append relative path before absolute paths
                  newSet.add(file.normalize());
              } else {
                  // In ant, all the file separator should be slash, so we need to
                  // replace all the back slash with slash.
                  newSet.add(file.normalize());
              }
          }
  
          // write list attribute to file
          final String fileKey = org.dita.dost.util.Constants.REL_FLAGIMAGE_LIST.substring(0, org.dita.dost.util.Constants.REL_FLAGIMAGE_LIST.lastIndexOf("list")) + "file";
          prop.setProperty(fileKey, org.dita.dost.util.Constants.REL_FLAGIMAGE_LIST.substring(0, org.dita.dost.util.Constants.REL_FLAGIMAGE_LIST.lastIndexOf("list")) + ".list");
          final File list = new File(job.tempDir, prop.getProperty(fileKey));
          try (Writer bufferedWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(list)))) {
              final Iterator<URI> it = newSet.iterator();
              while (it.hasNext()) {
                  bufferedWriter.write(it.next().getPath());
                  if (it.hasNext()) {
                      bufferedWriter.write("\n");
                  }
              }
              bufferedWriter.flush();
          } catch (final IOException e) {
              logger.error(e.getMessage(), e) ;
          }
  
          prop.setProperty(org.dita.dost.util.Constants.REL_FLAGIMAGE_LIST, StringUtils.join(newSet, COMMA));
      }
docs: add FlagImangesSet to Properties, which needn't to change the dir level,
  just ouput to the ouput dir.
  
  @param prop job configuration
  @param set absolute flag image files