private static Class determineMapValueTypeParam(Type genericFieldType) {
if (genericFieldType instanceof ParameterizedType) {
ParameterizedType type = (ParameterizedType) genericFieldType;
Type fieldArgType = type.getActualTypeArguments()[1];
if (fieldArgType instanceof TypeVariable) {
TypeVariable genericComponentType = (TypeVariable) fieldArgType;
return (Class) genericComponentType.getBounds()[0];
} else {
return (Class) fieldArgType;
}
} else if (genericFieldType instanceof Class) {
Class genericFieldType1 = (Class) genericFieldType;