code: final JsMsgMap getMQMDSetPropertiesMap() {
          if (mqMdSetPropertiesMap == null) {
              // There will not usually be any set MQMD properties, so the JMF choice defaults to
              // to empty (and will definitely be empty if the message has arrived from a
              // pre-v7 WAS). This is different from the other maps which default to empty lists.
              if (getHdr2().getChoiceField(JsHdr2Access.MQMDPROPERTIES) == JsHdr2Access.IS_MQMDPROPERTIES_MAP) {
                  List<String> keys = (List<String>) getHdr2().getField(JsHdr2Access.MQMDPROPERTIES_MAP_NAME);
                  List<Object> values = (List<Object>) getHdr2().getField(JsHdr2Access.MQMDPROPERTIES_MAP_VALUE);
                  mqMdSetPropertiesMap = new JsMsgMap(keys, values);
              }
              else {
                  mqMdSetPropertiesMap = new JsMsgMap(null, null);
              }
          }
          return mqMdSetPropertiesMap;
      }
docs: Helper method used by the main Message Property methods to obtain any
  JMS_IBM_MQMD_ Properties explicitly set, in the form of a map.
  <p>
  The method has package level visibility as it is used by JsJmsMessageImpl
  and JsSdoMessageimpl.
  
  @return A JsMsgMap containing the Message Property name-value pairs.