code: private static PropertySourceGenerator getSourceGenerator(final ErrorBuffer errorBuffer, final String className, final PropertyDefinition propertyDefinition) throws FrameworkException {
  
  		final String propertyName                                  = propertyDefinition.getPropertyName();
  		final Type propertyType                                    = propertyDefinition.getPropertyType();
  		final Class<? extends PropertySourceGenerator> parserClass = parserMap.get(propertyType);
  
  		try {
  
  			return parserClass.getConstructor(ErrorBuffer.class, String.class, PropertyDefinition.class).newInstance(errorBuffer, className, propertyDefinition);
  
  		} catch (Throwable t) {
  			logger.warn("", t);
  		}
  
  		errorBuffer.add(new InvalidPropertySchemaToken(SchemaProperty.class.getSimpleName(), propertyName, propertyName, "invalid_property_definition", "Unknow value type " + source + ", options are " + Arrays.asList(Type.values()) + "."));
  		throw new FrameworkException(422, "Invalid property definition for property " + propertyDefinition.getPropertyName(), errorBuffer);
  	}
docs: ----- private methods -----