private TaggedPropertySet createPropertySetForObject(Object configurationObject) {
String tag = ConfigurationValue.DEFAULT_TAG;
String basePath = "";
Map<String, String> properties = new HashMap<String, String>();
if (configurationObject.getClass().isAnnotationPresent(ConfigurationSource.class)) {
ConfigurationSource configurationAnnotation = configurationObject.getClass().getAnnotation(ConfigurationSource.class);
tag = configurationAnnotation.tag();
if (tag.equals("")) {
tag = ConfigurationValue.DEFAULT_TAG;
}
basePath = configurationAnnotation.basePath();
}
for (PropertyDescriptor propertyDescriptor : PropertyUtils.getPropertyDescriptors(configurationObject)) {
boolean canRead = propertyDescriptor.getReadMethod() != null;
boolean isString = propertyDescriptor.getPropertyType().isAssignableFrom(String.class);