docs: @Override
      public final Object getObjectProperty(String name) {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(this, tc, "getObjectProperty", name);
          Object value = null;
  
          /* Some JMSX and JMS_IBM properties need special processing for the JMS */
          /* layer */
          if (SIProperties.JMSXDeliveryCount.equals(name)) {
  
              int deliveryCount = getJmsxDeliveryCount();
              if (deliveryCount == 0) {
                  value = null;
              }
              else {
                  value = Integer.valueOf(deliveryCount);
              }
  
          }
  
          //special case for JMS_IBM_MsgType
          else if (name.equals(SIProperties.JMS_IBM_MsgType)) {
  
              // If value wasn't set from feedback, check for a carried value
              if (value == null) {
                  if (mayHaveMappedJmsSystemProperties()) {
                      value = getJmsSystemPropertyMap().get(name);
                  }
              }
          }
  
          // ARM Correlator properties
          else if (SIProperties.JMS_IBM_ArmCorrelator.equals(name)) {
              value = getARMCorrelator();
          }
  
          else if (SIProperties.JMS_TOG_ARM_Correlator.equals(name)) {
              value = getARMCorrelator();
          }
  
          /* The other JMSX and JMS_IBM_ properties can be obtained correctly */
          /* simply by calling the appropriate super-class methods */
          else if (name.startsWith(JMS_PREFIX)) {
              if (name.startsWith(JMS_IBM_MQMD_PREFIX)) {
                  value = getMQMDProperty(name);
              }
              else {
                  value = getJMSSystemProperty(name, false);
              }
          }
  
          /* For property names which do not start with JMS */
          /* Maelstrom's transportVersion has its own field - the rest are in the */
          /* JmsUserPropertyMap */
          else {
              if (name.equals(MfpConstants.PRP_TRANSVER)) {
                  value = getTransportVersion();
              }
              else {
                  if (mayHaveJmsUserProperties()) {
                      value = getJmsUserPropertyMap().get(name);
                  }
              }
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(this, tc, "getObjectProperty", value);
          return value;
      }