code: public static String getStringProperty(Map<String, Object> properties, String key, String defaultVal) {
  
          if (properties == null) {
              return defaultVal;
          }
  
          Object propertyVal = properties.get(key);
  
          if (propertyVal == null) {
              return defaultVal;
          }
  
          if (!(propertyVal instanceof String)) {
              throw new IllegalArgumentException("Property : " + key + " must be a string");
          }
  
          return (String) propertyVal;
      }
docs: Get string type property value from a property map.
  <p>
  If {@code properties} is null or property value is null, default value is returned
  
  @param properties map of properties
  @param key        property name
  @param defaultVal default value of the property
  @return integer value of the property,