docs: public boolean doCommand(String strCommand, ScreenField sourceSField, int iCommandOptions)
      {
          boolean bFlag = false;
          
          if ((strCommand.indexOf("FileHdrScreen") != -1)
              || (strCommand.indexOf("LayoutScreen") != -1))
                  iCommandOptions = ScreenConstants.USE_NEW_WINDOW | ScreenConstants.DONT_PUSH_TO_BROWSER;
          if ((strCommand.indexOf("ExportRecordsToXml") != -1)
              || (strCommand.indexOf("AccessGridScreen") != -1))
          {
              iCommandOptions = ScreenConstants.USE_NEW_WINDOW | ScreenConstants.DONT_PUSH_TO_BROWSER;
              strCommand = Utility.addURLParam(strCommand, DBParams.RECORD, this.getMainRecord().getField(ClassInfo.CLASS_NAME).toString());
              String packageName = ((ClassInfo)this.getMainRecord()).getPackageName(null);
              strCommand = Utility.addURLParam(strCommand, "package", packageName);
              strCommand = Utility.addURLParam(strCommand, "project", Converter.stripNonNumber(this.getMainRecord().getField(ClassInfo.CLASS_PROJECT_ID).toString()));
          }
          
          if (!DBConstants.RESET.equalsIgnoreCase(strCommand))
          if ((this.getMainRecord().getEditMode() == DBConstants.EDIT_ADD)
              || (this.getMainRecord().getEditMode() == DBConstants.EDIT_IN_PROGRESS))
          {
              try {
                  this.getMainRecord().writeAndRefresh(false);    // Make sure data is current before doing any command.
                  if (this.getScreenRecord().getField(ClassVars.CLASS_KEY).getListener(SwitchClassSub.class) != null)
                  {
                      ScreenField screen = ((SwitchClassSub)this.getScreenRecord().getField(ClassVars.CLASS_KEY).getListener(SwitchClassSub.class)).getSubScreen();
                      if (screen instanceof Screen)
                          ((Screen)screen).getMainRecord().writeAndRefresh(false);    // Make sure data is current before doing any command.
                      else if (screen instanceof GridScreen)
                          ((GridScreen)screen).finalizeThisScreen();   //? Validate current row
                  }
              } catch (DBException e) {
                  e.printStackTrace();
              }
          }
          
          if (bFlag == false)
              bFlag = super.doCommand(strCommand, sourceSField, iCommandOptions);  // This will send the command to my parent
          return bFlag;
      }