docs: @Override
      public final void setNonNullProperty(String name, Object value) {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(this, tc, "setNonNullProperty", new Object[] { name, value });
  
          // For 'user' properties.....
          if (!name.startsWith(JMS_PREFIX)) {
  
              /* Maelstrom's transportVersion has its own field - the other user ones */
              /* are in the JmsPropertyMap */
              if (name.equals(MfpConstants.PRP_TRANSVER)) {
                  setTransportVersion(value);
              }
              else {
                  getJmsUserPropertyMap().put(name, value);
              }
  
              /* Remove it from the other Property Map if it is there */
              if (mayHaveOtherUserProperties()) {
                  getOtherUserPropertyMap().remove(name);
              }
          }
  
          // For JMS_IBM_ properties.....
          else {
              if (name.startsWith(JMS_IBM_MQMD_PREFIX)) {
                  setMQMDProperty(name, value);
              } else {
                  getJmsSystemPropertyMap().put(name, value);
                  // JMS_IBM_Character_Set and JMS_IBM_Encoding need to be stashed in the
                  // message itself too.                                          d395685
                  if (name.equals(SIProperties.JMS_IBM_Character_Set)) {
                      setCcsid(value);
                  }
                  else if (name.equals(SIProperties.JMS_IBM_Encoding)) {
                      setEncoding(value);
                  }
              }
  
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(this, tc, "setNonNullProperty");
      }