code: private static Class<?>[] toBoxedType(Class<?>[] targetParaTypes) {
  		int len = targetParaTypes.length;
  		if (len == 0) {
  			return targetParaTypes;
  		}
  		
  		Class<?>[] ret = new Class<?>[len];
  		for (int i=0; i<len; i++) {
  			Class<?> temp = primitiveToBoxedMap.get(targetParaTypes[i]);
  			if (temp != null) {
  				ret[i] = temp;
  			} else {
  				ret[i] = targetParaTypes[i];
  			}
  		}
  		return ret;
  	}
docs: 由于从在模板中传递的基本数据类型参数只可能是 boxed 类型，当 extension method 中的方法参数是
  primitive 类型时，在 getMethod(key) 时无法获取 addExtensionMethod(...) 注册的扩展方法
  所以为扩展方法调用 getMethodKey(...) 生成 key 时一律转成 boxed 类型去生成方法的 key 值
  
  注意：该值仅用于在获取方法是通过 key 能获取到 MethindInfoExt，而 MethindInfoExt.paraType 仍然
  是原来的参数值