in src/main/java/org/apache/openejb/tools/release/util/Options.java [100:117]
public <T> T get(final String property, final T defaultValue) {
if (defaultValue == null) throw new NullPointerException("defaultValue");
final String value = properties.getProperty(property);
if (value == null || value.equals("")) return parent.get(property, defaultValue);
try {
final Class<?> type = defaultValue.getClass();
final Constructor<?> constructor = type.getConstructor(String.class);
final T t = (T) constructor.newInstance(value);
return log(property, t);
} catch (final Exception e) {
e.printStackTrace();
warn(property, value, e);
return parent.get(property, defaultValue);
}
}