public static void populateConfiguration () throws IOException, ConfigurationException{
    Logger.info("Load initial configuration...");
    InputStream is;
    if (Play.application().isProd()) is  =Play.application().resourceAsStream(CONFIGURATION_FILE_NAME);
    else is = new FileInputStream(Play.application().getFile("conf/"+CONFIGURATION_FILE_NAME));
    HierarchicalINIConfiguration c = new HierarchicalINIConfiguration();
    c.setEncoding("UTF-8");
    c.load(is);
    CharSequence doubleDot = "..";
    CharSequence dot = ".";
    Set<String> sections= c.getSections();
    for (String section: sections){
      Class en = PropertiesConfigurationHelper.CONFIGURATION_SECTIONS.get(section);
      if (en==null){
        Logger.warn(section  + " is not a valid configuration section, it will be skipped!");
        continue;
      }
      SubnodeConfiguration subConf=c.getSection(section);
      Iterator<String> it = subConf.getKeys();
      while (it.hasNext()){
        String key = (it.next()); 
        Object value =subConf.getString(key);
        key=key.replace(doubleDot, dot);//bug on the Apache library: if the key contain a dot, it will be doubled!