public DefaultMutableTreeNode createDictionaryNode(Dictionary dictionary) {
   DefaultMutableTreeNode dn = new DefaultMutableTreeNode(dictionary);
   if (dictionary.getRecords() != null) {
     for (Record record : dictionary.getRecords()) {
       dn.add(createRecordNode(record));
     }
   }
   if (dictionary.getSubdictionaries() != null) {
     for (Dictionary sub : dictionary.getSubdictionaries()) {
       dn.add(createDictionaryNode(sub));
     }
   }
   return dn;
 }