public static Object extractFromDatagram(DatagramPacket datagram) throws IOException {
		try(ByteArrayInputStream byteIn = new ByteArrayInputStream(datagram.getData())) {
			try(ObjectInputStream ois = new ObjectInputStream(byteIn)) {
				try {
					return ois.readObject();			
				} catch(ClassCastException e) {
					Logger.fatalError("Received the wrong thing on the network!", e);
				} catch (ClassNotFoundException e) {
					Logger.fatalError("Received the wrong thing on the network, and " +
							"I don't even have the class file for that.", e);
				}
			}
		}
		
		return null;
	}