code: @SuppressWarnings("unchecked")
      public <T> T getProperty(String key, T defaultValue) {
          T value = (T) serviceReference.getProperty(key);
          return value == null ? defaultValue : value;
      }
docs: Returns the service property value or the default value if the property is not present.
  
  @param key          the service property key
  @param defaultValue the default value
  @param <T>          the property type
  @return the property value or the default value
  @throws ClassCastException if the service property is not of the specified type