code: @VisibleForTesting
    static void encode(TransactionEdit src, DataOutput out, TransactionEditCodec codec) throws IOException {
      out.writeByte(codec.getVersion());
      codec.encode(src, out);
    }
docs: Encodes the given transaction edit using a specific codec.  Note that this is only exposed
  for use by tests.