code: public static List<File> getAllConfigLocations(String configFile)
    {
      LinkedList<File> locations = new LinkedList<File>();
  
      // first load everything from the base application
      locations.add(new File(VaadinService.getCurrent().getBaseDirectory(), 
        "/WEB-INF/conf/" + configFile));
  
      // next everything from the global config
      // When ANNIS_CFG environment variable is set use this value or default to
      // "/etc/annis/
      String globalConfigDir = System.getenv("ANNIS_CFG");
      if (globalConfigDir == null)
      {
        globalConfigDir = "/etc/annis";
      }
      locations.add(new File(globalConfigDir + "/" + configFile));
  
      // the final and most specific user configuration is in the users home directory
      locations.add(new File(
        System.getProperty("user.home") + "/.annis/" + configFile));
  
      return locations;
    }
docs: Given an configuration file name (might include directory) this function
  returns all locations for this file in the "ANNIS configuration system".
  
  The files in the result list do not necessarily exist.
  
  These locations are the
  - base installation: WEB-INF/conf/ folder of the deployment.
  - global configuration: $ANNIS_CFG environment variable value or /etc/annis/ if not set
  - user configuration: ~/.annis/
  @param configFile The file path of the configuration file relative to the base config folder.
  @return list of files or directories in the order in which they should be processed (most important is last)