code: protected <T> T getProperty(String key, Class<T> type) {
          Object returnValue = getProperty(key);
          if (returnValue != null) {
              return (T) returnValue;
          } else {
              return null;
          }
      }
docs: Gets the property and casts to the appropriate type
  
  @param <T>
  @param key The property name
  @param type The property type
  @return The value of the property