if (debug > 1) System.out.println("JmDNS querying type");
logger.finer("run() JmDNS querying type");
        public void run() {            try {                if (state == DNSState.ANNOUNCED) {                    if (++count < 3) {                        if (debug > 1) System.out.println("JmDNS querying type");                        DNSOutgoing out = new DNSOutgoing(DNSConstants.FLAGS_QR_QUERY);                        out.addQuestion(new DNSQuestion("_services._mdns._udp.local.", DNSConstants.TYPE_PTR, DNSConstants.CLASS_IN));                        for (Enumeration e = serviceTypes.elements() ; e.hasMoreElements(); ) {                            String type = (String) e.nextElement();                            out.addAnswer(new DNSRecord.Pointer("_services._mdns._udp.local.", DNSConstants.TYPE_PTR, DNSConstants.CLASS_IN, DNSConstants.DNS_TTL, type), 0);                        }                        send(out);                    } else {                        // After three queries, we can quit.                        cancel();                    };                } else if (state == DNSState.CANCELED) {                    cancel();                }            } catch (Throwable e) {                e.printStackTrace();                close();            }        }