log.debug("Cancel Invite Operation");
   public void run () {      if (enhanced)         sfParser = new WTDSFParser(this);      while (keepTrucking) {         try {            bk = (Stream5250)dsq.get();         }         catch (InterruptedException ie) {            System.out.println("   vt thread interrupted and stopping ");            keepTrucking = false;            continue;         }         // lets play nicely with the others on the playground//         me.yield();         Thread.yield();         invited = false;         screen52.setCursorActive(false);//      System.out.println("operation code: " + bk.getOpCode());         if (bk == null)            continue;         switch (bk.getOpCode()) {            case 00://               System.out.println("No operation");               break;            case 1://               System.out.println("Invite Operation");               parseIncoming();//               screen52.setKeyboardLocked(false);               pendingUnlock = true;               cursorOn = true;               setInvited();               break;            case 2://               System.out.println("Output Only");               parseIncoming();//               System.out.println(screen52.dirty);               screen52.updateDirty();   //            invited = true;               break;            case 3://               System.out.println("Put/Get Operation");               parseIncoming();//               inviteIt =true;               setInvited();               if (!firstScreen) {                  firstScreen = true;                  controller.fireSessionChanged(TN5250jConstants.STATE_CONNECTED);               }               break;            case 4://            System.out.println("Save Screen Operation");               parseIncoming();               break;            case 5://               System.out.println("Restore Screen Operation");               parseIncoming();               break;            case 6://               System.out.println("Read Immediate");               sendAidKey(0);               break;            case 7://               System.out.println("Reserved");               break;            case 8://               System.out.println("Read Screen Operation");               try {                  readScreen();               }               catch (IOException ex) {               }               break;            case 9://               System.out.println("Reserved");               break;            case 10://               System.out.println("Cancel Invite Operation");               cancelInvite();               break;            case 11://               System.out.println("Turn on message light");               screen52.setMessageLightOn();               screen52.setCursorActive(true);               break;            case 12://               System.out.println("Turn off Message light");               screen52.setMessageLightOff();               screen52.setCursorActive(true);               break;            default:               break;         }         if (screen52.isUsingGuiInterface())            screen52.drawFields();//      if (screen52.screen[0][1].getChar() == '#' &&//         screen52.screen[0][2].getChar() == '!')//         execCmd();//      else {         if (screen52.isHotSpots()) {           screen52.checkHotSpots();         }         try {//               SwingUtilities.invokeAndWait(//                  new Runnable () {//                     public void run() {//                        screen52.updateDirty();//                     }//                  }//               );            screen52.updateDirty();            controller.validate();//            System.out.println("update dirty");         }         catch (Exception exd ) {            System.out.println(" tnvt.run: " + exd.getMessage());            exd.printStackTrace();         }         if (pendingUnlock && !screen52.isStatusErrorCode()) {            screen52.setKeyboardLocked(false);            pendingUnlock = false;         }         if (cursorOn && !screen52.isKeyboardLocked()) {            screen52.setCursorActive(true);            cursorOn = false;         }         // lets play nicely with the others on the playground         //me.yield();         Thread.yield();      }   }