code: public static LinkedHashMap<String, String> readFileToHashMap( String filePath, String separator, boolean valueFirst )
              throws IOException {
          if (separator == null) {
              separator = "=";
          }
          List<String> lines = readFileToLinesList(filePath);
          LinkedHashMap<String, String> propertiesMap = new LinkedHashMap<>();
          for( String line : lines ) {
              line = line.trim();
              if (line.length() == 0) {
                  continue;
              }
              if (!line.contains(separator)) {
                  continue;
              }
              String[] lineSplit = line.split(separator);
              if (!valueFirst) {
                  String key = lineSplit[0].trim();
                  String value = "";
                  if (lineSplit.length > 1) {
                      value = lineSplit[1].trim();
                  }
                  propertiesMap.put(key, value);
              } else {
                  if (lineSplit.length > 1) {
                      String key = lineSplit[0].trim();
                      String value = lineSplit[1].trim();
                      propertiesMap.put(value, key);
                  }
              }
          }
          return propertiesMap;
      }
docs: Method to read a properties file into a {@link LinkedHashMap}. <p/> <p>Empty lines are ignored, as well as lines
  that do not contain the separator.</p>
  
  @param filePath   the path to the file to read.
  @param separator  the separator or <code>null</code>. Defaults to '='.
  @param valueFirst if <code>true</code>, the second part of the string is used as key.
  
  @return the read map.
  
  @throws IOException