private static SimpleTag appendApplicationIconPath(List<SimpleTag> topLevelTagsCollector,
                                                     JavaFxPackagerConstants.NativeBundles bundle,
                                                     JavaFxApplicationIcons appIcons,
                                                     String relativeToPath) {
    boolean haveAppIcon = false;
    if (appIcons == null || bundle == null || appIcons.isEmpty()) return null;
    if (bundle.isOnLinux()) {
      String iconPath = appIcons.getLinuxIcon(relativeToPath);
      if (!StringUtil.isEmpty(iconPath)) {
        final SimpleTag and = new SimpleTag("and");
        and.add(new SimpleTag("os", Couple.of("family", "unix")));
        final SimpleTag not = new SimpleTag("not");
        not.add(new SimpleTag("os", Couple.of("family", "mac")));
        and.add(not);
        appendIconPropertyTag(topLevelTagsCollector, iconPath, relativeToPath != null, and);
        haveAppIcon = true;
      }
    }
    if (bundle.isOnMac()) {
      String iconPath = appIcons.getMacIcon(relativeToPath);
      if (!StringUtil.isEmpty(iconPath)) {
        appendIconPropertyTag(topLevelTagsCollector, iconPath, relativeToPath != null, new SimpleTag("os", Couple.of("family", "mac")));
        haveAppIcon = true;
      }
    }
    if (bundle.isOnWindows()) {
      String iconPath = appIcons.getWindowsIcon(relativeToPath);
      if (!StringUtil.isEmpty(iconPath)) {
        appendIconPropertyTag(topLevelTagsCollector, iconPath, relativeToPath != null, new SimpleTag("os", Couple.of("family", "windows")));
        haveAppIcon = true;
      }
    }
    if (haveAppIcon) {
      return new SimpleTag("fx:icon", Couple.of("href", "${app.icon.path}"));
    }
    return null;
  }
private static SimpleTag appendApplicationIconPath(List<SimpleTag> topLevelTagsCollector,
                                                     JavaFxPackagerConstants.NativeBundles bundle,
                                                     JavaFxApplicationIcons appIcons,
                                                     String relativeToPath)