private static void loadIpaBase(String file) throws IOException {
        BufferedReader ipaBase = AuxiliaryFunctions.openRead(file);
        String line;
        while ((line = ipaBase.readLine()) != null) {
            Matcher cons = AuxiliaryFunctions.match(getPropPat(3, 0), line);
            Matcher vow1 = AuxiliaryFunctions.match(getPropPat(3, 1), line);
            Matcher vow2 = AuxiliaryFunctions.match(getPropPat(2, 1), line);
            Matcher supra = AuxiliaryFunctions.match(getPropPat(1, 2), line);
            Matcher dia = AuxiliaryFunctions.match(getPropPat(1, 3), line);
            if (cons.find()) {
                Consonant c = new Consonant(cons.group(1), //
                        Integer.parseInt(cons.group(2)), //
                        Integer.parseInt(cons.group(3)), //
                        Integer.parseInt(cons.group(4)));
                xsampaSymbols.add(c);
            } else if (vow1.find()) {
                Vowel v = new Vowel(vow1.group(1), //
                        Integer.parseInt(vow1.group(2)), //
                        Integer.parseInt(vow1.group(3)), //
                        Integer.parseInt(vow1.group(4)));
                xsampaSymbols.add(v);
            } else if (vow2.find()) {
                Vowel v = new Vowel(vow2.group(1), //
                        Integer.parseInt(vow2.group(2)), //
                        Integer.parseInt(vow2.group(3)));
                xsampaSymbols.add(v);
            } else if (supra.find()) {
                Suprasegmental s = new Suprasegmental(supra.group(1), //
                        Integer.parseInt(supra.group(2)));
                xsampaSymbols.add(s);
            } else if (dia.find()) {
                Diacritic d = new Diacritic(dia.group(1), //
                        Integer.parseInt(dia.group(2)));
                xsampaSymbols.add(d);
            }
        }
    }