public void configureOtherEtcProperties(){
      if (getDebug()) System.out.println(getProperties().size()+" property updates found");
      for (Map.Entry<String, String> e:getProperties().entrySet()){
        File file=new File(getFuseHome(), "etc/"+e.getKey().split("_")[0]+".cfg");
        if (!file.exists()) throw new RuntimeException("Unable to find file ["+file.getPath()+"] to apply property update");
        
        String property=e.getKey().split("_")[1];
        boolean append=false;
        if (e.getKey().split("_").length>2)
          append=e.getKey().split("_")[2].equalsIgnoreCase("append");
//          append=Boolean.parseBoolean(e.getKey().split("_")[2]);
        String newValue=e.getValue();
        if (getDebug()) System.out.println("Property update: file=["+file+"], property=["+property+"], value=["+newValue+"], append=["+append+"]");
        
        // make the property change
        try {
          if (!file.getCanonicalFile().exists()) throw new RuntimeException("configuration file "+file.getCanonicalPath()+" cannot be found");
          org.apache.felix.utils.properties.Properties p=new org.apache.felix.utils.properties.Properties(file);
          p.save(new File(file.getParentFile(), file.getName()+".bak"));
          String value=append?p.get(property)+newValue:newValue;
          if (getDebug()) System.out.println("changing value from ["+p.get(property) +"] to ["+value+"]");
          p.setProperty(property, value);
          p.save(file);
        } catch (IOException ex) {
          ex.printStackTrace();
        }
      }
    }