catch (IOException ex) { throw new NetworkException(ex); } }
    public UDPProtocol(IPv4Service ipService) throws NetworkException {        this.ipService = ipService;        this.icmp = new ICMPUtils(ipService);        try {            dsiFactory = new UDPDatagramSocketImplFactory(this);            try {                AccessController.doPrivileged(new PrivilegedExceptionAction() {                   public Object run() throws IOException {                       DatagramSocket.setDatagramSocketImplFactory(dsiFactory);                       return null;                   }                });            } catch (SecurityException ex) {                log.error("No permission to set DatagramSocketImplFactory", ex);            } catch (PrivilegedActionException ex) {                throw new NetworkException(ex.getException());            }        } catch (IOException ex) {            throw new NetworkException(ex);        }    }