private static ParamMapper newParamMapper(String className, String methodName, int idx, String paramName, Type paramType, Annotation[] paramAnnotations, MappingManager mappingManager) {
if (paramType instanceof Class) {
Class<?> paramClass = (Class<?>) paramType;
if (paramClass.isAnnotationPresent(UDT.class)) {
UDTMapper<?> udtMapper = mappingManager.getUDTMapper(paramClass);
return new UDTParamMapper(paramName, idx, udtMapper);
} else if (paramClass.isEnum()) {
EnumType enumType = EnumType.STRING;
for (Annotation annotation : paramAnnotations) {
if (annotation instanceof Enumerated) {
enumType = ((Enumerated) annotation).value();