- try {
- List<A> res = (List<A>) value;
- return Optional.of(res);
- } catch (ClassCastException e) {
- List<A> res = new ArrayList<>();
- List<?> lst = (List<?>) value;
- try {
- for (Object o : lst) {
- A item = (A) o;
- res.add(item);
- }
- return Optional.of(res);
- } catch (ClassCastException e1) {
- return Optional.empty();
- }
+ if (isDefaultAttrTypeRequested(clss))
+ return (List<A>) value;
+ List<A> res = new ArrayList<>();
+ List<?> lst = (List<?>) value;
+ for (Object o : lst) {
+ A item = clss.isAssignableFrom(String.class) ? (A) o.toString() : (A) o;
+ res.add(item);