docs: public int handleMessage(BaseMessage message)
      {
          Map<String,Object> properties = new HashMap<String,Object>();
          String strMessageType =  (String)message.get(MessageConstants.MESSAGE_TYPE_PARAM);
          String strStartIndex = (String)message.get(START_INDEX_PARAM);
          String strEndIndex = (String)message.get(END_INDEX_PARAM);
          if (strMessageType != null)
              properties.put(MessageConstants.MESSAGE_TYPE_PARAM, strMessageType);
          if (strStartIndex != null)
              properties.put(START_INDEX_PARAM, strStartIndex);
          if (strEndIndex != null)
              properties.put(END_INDEX_PARAM, strEndIndex);
          Map<String,Object> propertiesHdr = null;
          if (message.getMessageHeader() != null)
              propertiesHdr = message.getMessageHeader().getProperties();
          if (propertiesHdr != null)
              properties.putAll(propertiesHdr); // Merge them to simplify access
          if (properties != null)
          {
              strMessageType =  (String)properties.get(MessageConstants.MESSAGE_TYPE_PARAM);
              try {
                  int iMessageType = Integer.parseInt(strMessageType);
                  if ((Constants.AFTER_ADD_TYPE == iMessageType)
                      || (Constants.AFTER_DELETE_TYPE == iMessageType)
                      || (Constants.AFTER_UPDATE_TYPE == iMessageType))
                  {
                      SwingUtilities.invokeLater(new UpdateGridTable(properties));
                  }
              } catch (NumberFormatException ex) {
                  // Ignore
              }
          }
          return super.handleMessage(message);
      }