docs: public static Type[] getActualTypes(Type actualType, Class<?> typeDefineClass, Type... typeVariables) {
  		if (false == typeDefineClass.isAssignableFrom(getClass(actualType))) {
  			throw new IllegalArgumentException("Parameter [superClass] must be assignable from [clazz]");
  		}
  
  		// 泛型参数标识符列表
  		final TypeVariable<?>[] typeVars = typeDefineClass.getTypeParameters();
  		if(ArrayUtil.isEmpty(typeVars)) {
  			return null;
  		}
  		// 实际类型列表
  		final Type[] actualTypeArguments = TypeUtil.getTypeArguments(actualType);
  		if(ArrayUtil.isEmpty(actualTypeArguments)) {
  			return null;
  		}
  		
  		int size = Math.min(actualTypeArguments.length, typeVars.length);
  		final Map<TypeVariable<?>, Type> tableMap = new TableMap<>(typeVars, actualTypeArguments);
  		
  		// 查找方法定义所在类或接口中此泛型参数的位置
  		final Type[] result = new Type[size];
  		for(int i = 0; i < typeVariables.length; i++) {
  			result[i] = (typeVariables[i] instanceof TypeVariable) ? tableMap.get(typeVariables[i]) : typeVariables[i];
  		}
  		return result;
  	}