public ConfigSchema getSchema() {
if (getFunction() != null) {
Function func = getFunction();
for (int i = 0; i < myProperties.length; i++) {
Property property = myProperties[i];
String getterName = getterNames[i];
try {
Object result = func.getClass().getMethod(getterName).invoke(func);
property.setDefaultValue(result);
} catch (NoSuchMethodException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {