code: @SuppressWarnings("unchecked")
      public static boolean addPropertyDefault(PropertiesImpl props, PropertyDefinition<?> propDef) {
  
          if ((props == null) || (props.getProperties() == null)) {
              throw new IllegalArgumentException("Props must not be null!");
          }
  
          if (propDef == null) {
              return false;
          }
  
          List<?> defaultValue = propDef.getDefaultValue();
          if ((defaultValue != null) && (!defaultValue.isEmpty())) {
              switch (propDef.getPropertyType()) {
                  case BOOLEAN:
                      props.addProperty(new PropertyBooleanImpl(propDef.getId(), (List<Boolean>)defaultValue));
                      break;
                  case DATETIME:
                      props.addProperty(new PropertyDateTimeImpl(propDef.getId(), (List<GregorianCalendar>)defaultValue));
                      break;
                  case DECIMAL:
                      props.addProperty(new PropertyDecimalImpl(propDef.getId(), (List<BigDecimal>)defaultValue));
                      break;
                  case HTML:
                      props.addProperty(new PropertyHtmlImpl(propDef.getId(), (List<String>)defaultValue));
                      break;
                  case ID:
                      props.addProperty(new PropertyIdImpl(propDef.getId(), (List<String>)defaultValue));
                      break;
                  case INTEGER:
                      props.addProperty(new PropertyIntegerImpl(propDef.getId(), (List<BigInteger>)defaultValue));
                      break;
                  case STRING:
                      props.addProperty(new PropertyStringImpl(propDef.getId(), (List<String>)defaultValue));
                      break;
                  case URI:
                      props.addProperty(new PropertyUriImpl(propDef.getId(), (List<String>)defaultValue));
                      break;
                  default:
                      throw new RuntimeException("Unknown datatype! Spec change?");
              }
  
              return true;
          }
  
          return false;
      }
docs: Adds the default value of property if defined.
  
  @param props the Properties object
  @param propDef the property definition
  
  @return true if the property could be added