if(tmp_additional_data != null) ((IpAddress)msg.getSrc()).setAdditionalData(tmp_additional_data);
    void setAddresses(Message msg, IpAddress dest, InetAddress sender, int port) {        // set the destination address        if(msg.getDest() == null && dest != null)            msg.setDest(dest);        // set the source address if not set        IpAddress src_addr=(IpAddress)msg.getSrc();        if(src_addr == null) {            try {msg.setSrc(new IpAddress(sender, port));} catch(Throwable t) {}        }        else {            byte[] tmp_additional_data=src_addr.getAdditionalData();            if(src_addr.getIpAddress() == null) {                try {msg.setSrc(new IpAddress(sender, src_addr.getPort()));} catch(Throwable t) {}                if(tmp_additional_data != null)                    ((IpAddress)msg.getSrc()).setAdditionalData(tmp_additional_data);            }        }    }