UUID canonicalAddress = new UUID(decoder.readLong(), decoder.readLong());
int port = decoder.readInt();
int addressCount = decoder.readSmallInt();
List<InetAddress> addresses = new ArrayList<InetAddress>(addressCount);
for (int i = 0; i < addressCount; i++) {
InetAddress address = InetAddress.getByAddress(decoder.readBinary());
addresses.add(address);
}
Address address = new MultiChoiceAddress(canonicalAddress, port, addresses);
File daemonLog = new File(decoder.readString());
return new DaemonStartupInfo(uid, address, new DaemonDiagnostics(daemonLog, pid));