public void print(List<String> IdsToStrings,String pad) {
     Iterator<K1> triIter=TrigramCounts.keySet().iterator();
     K1 myValue;
     UnigramCountsModel<BigramModel<K2,K3>> model;
     int getVal;
     if (pad==null) {
       pad="";
     }
	 while (triIter.hasNext()) {
	   myValue=triIter.next();
 	   model=TrigramCounts.get(myValue);
       if ((IdsToStrings!=null) && (myValue instanceof Integer)) {
         getVal=((Integer)myValue).intValue();
         System.out.println("Trigram<"+myValue.getClass().getName()+">:"+IdsToStrings.get(getVal)+"|+|");
       }
       else {
         System.out.println("Trigram<"+myValue.getClass().getName()+">:"+myValue+"|+|");
       }
 	   model.print(IdsToStrings,pad);
	 }
   }