code: public TrxMessageHeader addMessageProperties(TrxMessageHeader trxMessageHeader, MessageControl recMessageControl)
      {
          Map<String,Object> mapHeaderMessageInfo = trxMessageHeader.getMessageInfoMap();
          
          Map<String,Object> propMessageTransportInfo = ((PropertiesField)this.getField(MessageVersion.PROPERTIES)).loadProperties();
          if (mapHeaderMessageInfo != null)
              Utility.putAllIfNew(mapHeaderMessageInfo, propMessageTransportInfo);
          else
              mapHeaderMessageInfo = propMessageTransportInfo;
          if (mapHeaderMessageInfo == null)
              mapHeaderMessageInfo = new HashMap<String,Object>();
          if (!this.getField(MessageVersion.CODE).isNull())
              mapHeaderMessageInfo.put(VERSION, this.getField(MessageVersion.CODE).toString());
          if (!this.getField(MessageVersion.ID).isNull())
              mapHeaderMessageInfo.put(VERSION_ID, this.getField(MessageVersion.ID).toString());
          if (recMessageControl != null)
              if ((recMessageControl.getEditMode() == DBConstants.EDIT_CURRENT) || (recMessageControl.getEditMode() == DBConstants.EDIT_IN_PROGRESS))
                  if (mapHeaderMessageInfo.get(TrxMessageHeader.SCHEMA_LOCATION) != null)
              {
                  String strSchemaLocation = (String)mapHeaderMessageInfo.get(TrxMessageHeader.SCHEMA_LOCATION);
                  if (strSchemaLocation.indexOf('/') == -1)
                  {   // Need to get the full location
                      if (strSchemaLocation.indexOf('.') == -1)
                          strSchemaLocation = strSchemaLocation + ".xsd";
                  strSchemaLocation = recMessageControl.getSchemaLocation(this, strSchemaLocation);
                  mapHeaderMessageInfo.put(TrxMessageHeader.SCHEMA_LOCATION, strSchemaLocation);
                  }
              }
          trxMessageHeader.setMessageInfoMap(mapHeaderMessageInfo);
          
          return trxMessageHeader;
      }
docs: Add the version properties to this message.
  NOTE: The properties are added ONLY if the don't currently exist in the info properties.