public static void initializeMappingFile (String mappingFileName) {
        
        GenUtil.validateString(mappingFileName);
        try {
            BufferedReader br = new BufferedReader (new FileReader (mappingFileName));
            String line;
            String [] headersArr = null;
            while ((line = br.readLine()) != null) {
                XOCMapper mapper;
                line = line.trim();
                String [] tempArr = line.split(GenUtil.TAB);
                if (tempArr.length != 6) {                 //i.e. no code/label
                    throw new IllegalStateException ("Invalid row in mapping file: "
                            + tempArr.length);
                }
                if (headersArr == null) {
                    headersArr = tempArr;  
                    continue;
                }
                //save entries. 
                mapper = new XOCMapper(); 
                mapper.setAttValOC (tempArr [0], tempArr [1]);
                //either both carry values or neither do.
                if (!GenUtil.NA.equals (tempArr [2]) &&    
                    !GenUtil.NA.equals (tempArr [3])) {
                    mapper.setAttValX (tempArr [2], tempArr [3]);
                }
                if (!GenUtil.NA.equals (tempArr [4])) {
                    mapper.setConstValue (tempArr [4]);
                }
                if (!GenUtil.NA.equals (tempArr [5])) {
                    mapper.setComment (tempArr [5]);
                } 
                XOCMapper.mappersList.add(mapper);
            }
        } catch (IOException e) {
            throw new RuntimeException ("Unable to read mapping file."
                                        + mappingFileName);
        }
        //debugging     
        System.out.println ("Listing all code/label pairs: ");
        for (int i = 0; i < XOCMapper.mappersList.size (); i++) {
            System.out.println (XOCMapper.mappersList.get (i));
        }
    }