public static WordLocation parseWordLocation(String obj) {
        WordLocation wl = new WordLocation();
        String data[] = obj.split("\n");
        if( data.length != 2)
            return null;
        String tokens[] = data[0].split("[=]|[\\{]|[\\}]|[,]");
        try {
            if(data[0].indexOf("WordLocation") != -1 || tokens.length > 0) {
                for( int  i = 0; i<tokens.length; i++ ) {
                    if(tokens[i].indexOf("word")!=-1)
                     wl.setWord(tokens[i+1].trim());
                    else if(tokens[i].indexOf("fileName")!=-1)
                     wl.setFileName(tokens[i+1].trim());
                    else if(tokens[i].indexOf("location")!=-1)
                      wl.setLocations(parseLocation(tokens[i+1]));
                }
                wl.setBook(Book.parseBook(data[1]));
                wl.setCount(wl.getLocations().size());
            }
            else {
                 logger.warn("WordLocation:Invalid Record read " + data);
            }
        }
        catch(Exception ex)
        {
            logger.error("WordLocation: Error Record read " + data);
            ex.printStackTrace();
        }
        return wl;
    }