docs: public TrxMessageHeader addDestInfo(TrxMessageHeader trxMessageHeader)
      {
          String strMessageTransport = (String)trxMessageHeader.get(MessageTransportModel.SEND_MESSAGE_BY_PARAM);
          if ((MessageTransportModel.EMAIL.equalsIgnoreCase(strMessageTransport))
              && (trxMessageHeader.get(TrxMessageHeader.DESTINATION_PARAM) == null))
                  trxMessageHeader.put(TrxMessageHeader.DESTINATION_PARAM, this.getField(Person.EMAIL).toString());
          else if ((MessageTransportModel.FAX.equalsIgnoreCase(strMessageTransport))
              && (trxMessageHeader.get(TrxMessageHeader.DESTINATION_PARAM) == null))
                  trxMessageHeader.put(TrxMessageHeader.DESTINATION_PARAM, this.getField(Person.FAX).toString());
          else if ((MessageTransportModel.MAIL.equalsIgnoreCase(strMessageTransport))
              && (trxMessageHeader.get(TrxMessageHeader.DESTINATION_PARAM) == null))
          {
              String strMail = this.getField(Person.NAME).toString();
              strMail += '\n' + this.getField(Person.ADDRESS_LINE_1).toString();
              if (!this.getField(Person.ADDRESS_LINE_2).isNull())
                  strMail += '\n' + this.getField(Person.ADDRESS_LINE_2).toString();
              strMail += '\n' + this.getField(Person.CITY_OR_TOWN).toString();
              if (!this.getField(Person.STATE_OR_REGION).isNull())
                  strMail += ", " + this.getField(Person.STATE_OR_REGION).toString();
              if (!this.getField(Person.POSTAL_CODE).isNull())
                  strMail += ' ' + this.getField(Person.POSTAL_CODE).toString();
              if (!this.getField(Person.COUNTRY).isNull())
                  strMail += ' ' + this.getField(Person.COUNTRY).toString();
              trxMessageHeader.put(TrxMessageHeader.DESTINATION_PARAM, strMail);
          }
          Map<String,Object> mapInfo = trxMessageHeader.getMessageInfoMap();
          if (mapInfo == null)
              trxMessageHeader.setMessageInfoMap(mapInfo = new HashMap<String,Object>());
          
          mapInfo.put(TrxMessageHeader.CONTACT_TYPE, this.getTableNames(false));
          mapInfo.put(TrxMessageHeader.CONTACT_ID, this.getField(Person.ID).toString());
          if (!this.getField(Person.USER_ID).isNull())
          {
              mapInfo.put(TrxMessageHeader.CONTACT_USER_ID, this.getField(Person.USER_ID).toString());
              Record recUserInfo = ((ReferenceField)this.getField(Person.USER_ID)).getReference();
              if (recUserInfo != null)
                  if ((recUserInfo.getEditMode() == DBConstants.EDIT_CURRENT) || (recUserInfo.getEditMode() == DBConstants.EDIT_IN_PROGRESS))
                      if (!recUserInfo.getField(UserInfo.USER_NAME).isNull())
                          mapInfo.put(TrxMessageHeader.CONTACT_USER, recUserInfo.getField(UserInfo.USER_NAME).toString());
          }
          
          return trxMessageHeader;
      }