code: @SuppressWarnings("unchecked")
      public <T> T getProperty(String propName, T defaultValue) {
          String propValue = props.getProperty(propName);
          if (propValue == null)
              return defaultValue;
          return ReflectionUtil.<T>getObjectInstance(propValue);
      }
docs: Returns a class instance of the property associated with {@code propName},
  or {@code defaultValue} if there is no property.  This method assumes that
  the class has a no argument constructor.