// Get, convert and save property value
Object value = customProperties.get(name);
if (value instanceof String){
set(key, (String)value);
} else if (value instanceof Date) {
Property prop = Property.externalDate(key);
metadata.set(prop, (Date)value);
} else if (value instanceof Boolean) {
Property prop = Property.externalBoolean(key);
metadata.set(prop, ((Boolean)value).toString());
} else if (value instanceof Long) {
Property prop = Property.externalInteger(key);
metadata.set(prop, ((Long)value).intValue());
} else if (value instanceof Double) {
Property prop = Property.externalReal(key);
metadata.set(prop, ((Double)value).doubleValue());
} else if (value instanceof Integer) {
Property prop = Property.externalInteger(key);
metadata.set(prop, ((Integer)value).intValue());
}
}
}
}