public static ArrayList<ArrayList<ArrayList<String>>> getProfData(String prof, Professions plugin) {
        
        Boolean v = true;
        Integer i = 0;
        Integer c;
        ArrayList<ArrayList<ArrayList<String>>> j = new ArrayList<ArrayList<ArrayList<String>>>();
        
        String action;
        String delimiter;
        String[] temp;
        
        while ( v == true ) {
            
            if ( plugin.getConfig().getString("profs." + prof + ".tier" + (i+1)) != null ) {
                
                j.add(i,new ArrayList<ArrayList<String>>());
                
                /*
                 * Check current tier for onBlockBreak event triggers:
                 */
                if ( plugin.getConfig().getString("profs." + prof + ".tier" + (i+1) + ".onBreak") != null ) {
                    
                    j.get(i).add(0, new ArrayList<String>());
                    
                    action = plugin.getConfig().getString("profs." + prof + ".tier" + (i+1) + ".onBreak");
                    delimiter = ",";
                    
                    temp = action.split(delimiter);

                    for (c = 0; c < temp.length; c++) {
                        (((ArrayList<ArrayList<String>>)j.get(i)).get(0)).add(c,temp[c]);
                    }
                    
                } else {
                    j.get(i).add(0, new ArrayList<String>());
                    (((ArrayList<ArrayList<String>>)j.get(i)).get(0)).add(0,null);
                }
                
                /*
                 * Check current tier for onBlockPlace event triggers:
                 */
                if ( plugin.getConfig().getString("profs." + prof + ".tier" + (i+1) + ".onPlace") != null ) {
                    
                    j.get(i).add(1, new ArrayList<String>());
                    
                    action = plugin.getConfig().getString("profs." + prof + ".tier" + (i+1) + ".onPlace");
                    delimiter = ",";
                    
                    temp = action.split(delimiter);

                    for (c = 0; c < temp.length; c++) {
                        (((ArrayList<ArrayList<String>>)j.get(i)).get(1)).add(c,temp[c]);
                    }
                    
                } else {
                    j.get(i).add(1, new ArrayList<String>());
                    (((ArrayList<ArrayList<String>>)j.get(i)).get(1)).add(0,null);
                }
                
                // TODO Add onAcquire section...

                i = i + 1;
                
            } else {
                // Exit loop when we've found all the tiers...
                v = false;
            }
            
        }

        return j;
        
    }