@Override
public <T extends DynamicProperties> void load(Config<T> config, PropertiesCache cache) {
Class<T> propsClass = config.getPropertiesClass();
for (Method method : propsClass.getDeclaredMethods()) {
DefaultValue defaultValueAnnotation = method.getAnnotation(DefaultValue.class);
if (defaultValueAnnotation != null) {
String defaultValue = defaultValueAnnotation.value();
try {
cache.put(method, defaultValue);
} catch (PropertyNotExistException ex) {
LOGGER.log(Level.SEVERE, "Error in PropertiesCache.java", ex);
throw new RuntimeException("Error in PropertiesCache.java", ex);