public static ArxFile readArxFile(File f) {
        HashMap<String, String> result = new HashMap();
        try {

            BufferedReader br = new BufferedReader(new FileReader(f));

            String line;

            String tag;
            String value;

            while ((line = br.readLine()) != null) {
                
                if (!line.startsWith("#") || !line.startsWith(" ") || !line.isEmpty()) {
                    String[] splittedLine = line.split(":");
                    tag = splittedLine[0];
                    value = splittedLine[1];

                    result.put(tag.trim(), value.trim());
                }
            }
        } catch (FileNotFoundException ioe) {
            Log.error("Cannot read Arx file: '" + f.getName() + "'\nReason: " + ioe.getMessage());
        } catch (IOException ex) {
            Log.error("Cannot read Arx file: '" + f.getName() + "'\nReason: " + ex.getMessage());
        }
        return new ArxFile(result);
    }