- Integer value = (Integer)provider.getValue(input);
- if (value == null) return null;
- return getItems()[value];
+ Object rawValue = provider.getValue(input);
+ if (rawValue == null) {
+ return null;
+ }
+ else if (rawValue instanceof Integer) {
+ Integer value = (Integer)rawValue;
+ return getItems()[value];
+ }
+ else if (rawValue instanceof Enum) {
+ return rawValue.toString();
+ }
+ else {
+ return null;
+ }