public void writeExternal(ObjectOutput out) throws IOException { // public String version; byte[] bytes = version.getBytes(); out.writeInt(bytes.length); out.write(bytes); // public Group group; group.writeExternal(out); // public ViewID id; id.writeExternal(out); // public ViewID[] previous; out.writeInt(previous.length); for (int i = 0; i < previous.length; i++) previous[i].writeExternal(out); // public Endpt[] view; out.writeInt(view.length); for (int i = 0; i < view.length; i++) view[i].writeExternal(out); // public InetWithPort[] addresses; out.writeInt(addresses.length); for (int i = 0; i < addresses.length; i++) { bytes = addresses[i].getAddress().getAddress(); out.writeInt(bytes.length); out.write(bytes); out.writeInt(addresses[i].getPort()); } }