props.remove("discard_incompatibe_packets");
props.remove("discard_incompatible_packets");
    public boolean setProperties(Properties props) {        String str;        String tmp = null;        super.setProperties(props);                // PropertyPermission not granted if running in an untrusted environment with JNLP.        try {            tmp=System.getProperty("bind.address");            if(Boolean.getBoolean(IGNORE_BIND_ADDRESS_PROPERTY)) {                tmp=null;            }        }        catch (SecurityException ex){        }                if(tmp != null)            str=tmp;        else            str=props.getProperty("bind_addr");        if(str != null) {            try {                bind_addr=InetAddress.getByName(str);            }            catch(UnknownHostException unknown) {                if(log.isFatalEnabled()) log.fatal("(bind_addr): host " + str + " not known");                return false;            }            props.remove("bind_addr");        }        str=props.getProperty("bind_to_all_interfaces");        if(str != null) {            bind_to_all_interfaces=new Boolean(str).booleanValue();            props.remove("bind_to_all_interfaces");        }        str=props.getProperty("bind_port");        if(str != null) {            bind_port=Integer.parseInt(str);            props.remove("bind_port");        }        str=props.getProperty("num_last_ports");        if(str != null) {            num_last_ports=Integer.parseInt(str);            props.remove("num_last_ports");        }		str=props.getProperty("start_port");        if(str != null) {            bind_port=Integer.parseInt(str);            props.remove("start_port");        }		str=props.getProperty("port_range");        if(str != null) {            port_range=Integer.parseInt(str);            props.remove("port_range");        }        str=props.getProperty("mcast_addr");        if(str != null) {            mcast_addr_name=str;            props.remove("mcast_addr");        }        str=props.getProperty("mcast_port");        if(str != null) {            mcast_port=Integer.parseInt(str);            props.remove("mcast_port");        }        str=props.getProperty("ip_mcast");        if(str != null) {            ip_mcast=Boolean.valueOf(str).booleanValue();            props.remove("ip_mcast");        }        str=props.getProperty("ip_ttl");        if(str != null) {            ip_ttl=Integer.parseInt(str);            props.remove("ip_ttl");        }        str=props.getProperty("mcast_send_buf_size");        if(str != null) {            mcast_send_buf_size=Integer.parseInt(str);            props.remove("mcast_send_buf_size");        }        str=props.getProperty("mcast_recv_buf_size");        if(str != null) {            mcast_recv_buf_size=Integer.parseInt(str);            props.remove("mcast_recv_buf_size");        }        str=props.getProperty("ucast_send_buf_size");        if(str != null) {            ucast_send_buf_size=Integer.parseInt(str);            props.remove("ucast_send_buf_size");        }        str=props.getProperty("ucast_recv_buf_size");        if(str != null) {            ucast_recv_buf_size=Integer.parseInt(str);            props.remove("ucast_recv_buf_size");        }        str=props.getProperty("loopback");        if(str != null) {            loopback=Boolean.valueOf(str).booleanValue();            props.remove("loopback");        }        str=props.getProperty("discard_incompatibe_packets");        if(str != null) {            discard_incompatible_packets=Boolean.valueOf(str).booleanValue();            props.remove("discard_incompatibe_packets");        }        // this is deprecated, just left for compatibility (use use_incoming_packet_handler)        str=props.getProperty("use_packet_handler");        if(str != null) {            use_incoming_packet_handler=Boolean.valueOf(str).booleanValue();            props.remove("use_packet_handler");            if(log.isWarnEnabled()) log.warn("'use_packet_handler' is deprecated; use 'use_incoming_packet_handler' instead");        }        str=props.getProperty("use_incoming_packet_handler");        if(str != null) {            use_incoming_packet_handler=Boolean.valueOf(str).booleanValue();            props.remove("use_incoming_packet_handler");        }        str=props.getProperty("use_outgoing_packet_handler");        if(str != null) {            use_outgoing_packet_handler=Boolean.valueOf(str).booleanValue();            props.remove("use_outgoing_packet_handler");        }        str=props.getProperty("max_bundle_size");        if(str != null) {            int bundle_size=Integer.parseInt(str);            if(bundle_size > max_bundle_size) {                if(log.isErrorEnabled()) log.error("max_bundle_size (" + bundle_size +                        ") is greater than largest UDP fragmentation size (" + max_bundle_size + ')');                return false;            }            if(bundle_size <= 0) {                if(log.isErrorEnabled()) log.error("max_bundle_size (" + bundle_size + ") is <= 0");                return false;            }            max_bundle_size=bundle_size;            props.remove("max_bundle_size");        }        str=props.getProperty("max_bundle_timeout");        if(str != null) {            max_bundle_timeout=Long.parseLong(str);            if(max_bundle_timeout <= 0) {                if(log.isErrorEnabled()) log.error("max_bundle_timeout of " + max_bundle_timeout + " is invalid");                return false;            }            props.remove("max_bundle_timeout");        }        str=props.getProperty("enable_bundling");        if(str != null) {            enable_bundling=Boolean.valueOf(str).booleanValue();            props.remove("enable_bundling");        }        str=props.getProperty("use_addr_translation");        if(str != null) {            use_addr_translation=Boolean.valueOf(str).booleanValue();            props.remove("use_addr_translation");        }        str=props.getProperty("null_src_addresses");        if(str != null) {            null_src_addresses=Boolean.valueOf(str).booleanValue();            props.remove("null_src_addresses");        }        if(props.size() > 0) {            log.error("UDP.setProperties(): the following properties are not recognized: " + props);            return false;        }        if(enable_bundling) {            if(use_outgoing_packet_handler == false)                if(log.isWarnEnabled()) log.warn("enable_bundling is true; setting use_outgoing_packet_handler=true");            use_outgoing_packet_handler=true;        }        return true;    }