public void queryCmd(Cmd cmd) {
        if (cmd == null) {
            Log(ComEvent.eType.Warning, "cmd cannot be a null reference... (ignored)");
            return;
        }

        synchronized (cmdToSend) {
            cmdToSend.add(cmd);
            Log(ComEvent.eType.Debug, "Added " + cmd.Action() + " cmd to queue");
        }

        if (send.getState() == java.lang.Thread.State.NEW) {
            Log(ComEvent.eType.Debug, "Starting Send thread");
            send.start();
        } else if (send.getState() == java.lang.Thread.State.TERMINATED) {
            Log(ComEvent.eType.Debug, "Restarting Send thread");
            send = new Thread(new Send());
            send.start();
        }
    }