code: <T> T getPrimitiveProperty(String property, Class<T> type) throws JMSException {
          if (property == null) {
              throw new NullPointerException("Property name is null");
          }
          Object value = getObjectProperty(property);
          if (value == null) {
              return handleNullPropertyValue(property, type);
          }
          T convertedValue = TypeConversionSupport.convert(value, type);
          if (convertedValue == null) {
              throw new MessageFormatException("Property " + property + " was " + value.getClass().getName() +
                                               " and cannot be read as " + type.getName());
          }
          return convertedValue;
      }
docs: Get the value for a property that represents a java primitive(e.g. int or
  long).
  
  @param property
  The name of the property to get.
  @param type
  The type of the property.
  @return the converted value for the property.
  @throws JMSException
  On internal error.
  @throws MessageFormatException
  If the property cannot be converted to the specified type.
  @throws NullPointerException
  and NumberFormatException when property name or value is
  null. Method throws same exception as primitives
  corresponding valueOf(String) method.