private DMemeGrid convertToGridB(Map mp) {
        
        DMemeGrid grid = new DMemeGrid();
        
        int rowIdx = 0;
        int colIdx = 0;
        
        Iterator it = mp.entrySet().iterator();
        while (it.hasNext()) {
            Map.Entry pairs = (Map.Entry) it.next();
            
            Map<Integer, Integer> tmp = (TreeMap<Integer,Integer>)pairs.getValue();

            grid.addColLabel(pairs.getKey().toString());
            
            Iterator it2 = tmp.entrySet().iterator();
            rowIdx = 0;
            while (it2.hasNext()) {
               Map.Entry item = (Map.Entry) it2.next();
               
               Integer i = new Integer(item.getKey().toString());
               String label = item.getKey().toString();
               
               if (i > 0) {
                   label = String.format("+%d", i);
               }
               
               if (!grid.getRowLabels().contains(label)) {
                   grid.addRowLabel(label);
               }
                
               grid.addItem(rowIdx, colIdx, new DataMeme(item.getValue()));
               
               rowIdx++; 
            }
           colIdx++; 
        }
        
        
        
        return grid;
    }