private static Class<?> mapComponentType(Class<?> componentType) {
   if (componentType.isPrimitive()
       || componentType.isArray()
       || Object.class.equals(componentType)
       || Number.class.isAssignableFrom(componentType)
       || Boolean.class.isAssignableFrom(componentType)
       || Character.class.isAssignableFrom(componentType)
       || String.class.isAssignableFrom(componentType)
       || DTO.class.isAssignableFrom(componentType)) {
     return componentType;
   }
   if (Map.class.isAssignableFrom(componentType)) {
     return Map.class;
   }
   if (List.class.isAssignableFrom(componentType)) {
     return List.class;
   }
   if (Set.class.isAssignableFrom(componentType)) {
     return Set.class;
   }
   return String.class;
 }