@Override
 public void write(Packer packer, Runlist runlist, boolean required) throws IOException {
   if (runlist == null || runlist.isEmpty()) {
     packer.writeNil();
   } else {
     packer.write(runlist.getRunlist());
   }
 }
 @Override
 public Runlist read(Unpacker unpacker, Runlist runlist, boolean required) throws IOException {
   if (!required && unpacker.trySkipNil()) {
     return Runlist.empty();
   }
   Map<String, String> list = unpacker.read(Templates.tMap(Templates.TString, Templates.TString));
   return new Runlist(list);
 }