private static TransformGenerator[] getKeyTransformers(Class ownerClass, Method method) { TransformGeneratorFactory tgf = TransformGeneratorFactoryImpl.getInstance(); Class[] params = CodegenHelper.getClasses(ownerClass.getClassLoader(), method.getArgumentTypes()); Annotation[][] annotations; try { annotations = ownerClass.getDeclaredMethod(method.getName(), params).getParameterAnnotations(); } catch (NoSuchMethodException e) { throw new IllegalStateException(e); } TransformGenerator[] tg = new TransformGenerator[params.length]; for (int i = 0; i < params.length; i++) { tg[i] = tgf.forArgument(annotations[i], params[i]); } return tg; }