private void readWriteTest(Dictionary<String> dict) throws Exception {
   final String path = "src/test/resources/dict/tmp_dict";
   File f = new File(path);
   f.deleteOnExit();
   f.createNewFile();
   String dictClassName = dict.getClass().getName();
   DataOutputStream out = new DataOutputStream(new FileOutputStream(f));
   out.writeUTF(dictClassName);
   dict.write(out);
   out.close();
   // read dict
   DataInputStream in = null;
   Dictionary<String> dict2 = null;
   try {
     File f2 = new File(path);
     in = new DataInputStream(new FileInputStream(f2));
     String dictClassName2 = in.readUTF();
     dict2 = (Dictionary<String>) ClassUtil.newInstance(dictClassName2);
     dict2.readFields(in);
   } finally {
     if (in != null) {
       in.close();
     }
   }
   assertTrue(dict.equals(dict2));
 }