docs: public final String getProperty(String key, String defaultValue)
      {
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.entry(this, tc, "getProperty", new Object[] { "Key=" + key, "Default=" + defaultValue });
  
          String fullKey = MessageStoreConstants.STANDARD_PROPERTY_PREFIX + key;
  
          // consult custom properties first
          String value = (String) _customProperties.get(fullKey);
          //TODO in a gradle unit test environment, I can't get RuntimeInfo to properly initialize (NoClassDefFoundError).
          //however, it also appears that RuntimeInfo.getProperty is not properly implemented on Liberty anyway, it always returns null
          //so commenting it out here makes no difference and allows the tests to pass. Needs fixing properly.
  //        if (null == value)
  //        {
  //            value = RuntimeInfo.getProperty(fullKey);
  //        }
          if (null == value)
          {
              // If still nothing then go to system proprties
              value = System.getProperty(fullKey);
          }
          if (null == value)
          {
              // if still nothing, then use the supplied default.
              value = defaultValue;
          }
          else
          {
              // If the value used differs from the default, issue a confirmation
              // message for serviceability reasons
              if (!value.equals(defaultValue))
              {
                  Runtime.changedPropertyValue(fullKey, value);
              }
          }
  
          if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled())
              SibTr.exit(this, tc, "getProperty", "return=" + value);
          return value;
      }