* @param typeArguments the type arguments from which the types will be taken
* @param parameterTypes the parameter types that must be matched by the type arguments
* @return the argument types that correspond to the parameter types
*/
private Type[] getArgumentTypes(TypeArgumentList typeArguments, Type[] parameterTypes) {
DynamicTypeImpl dynamic = DynamicTypeImpl.getInstance();
int parameterCount = parameterTypes.length;
Type[] types = new Type[parameterCount];
if (typeArguments == null) {
for (int i = 0; i < parameterCount; i++) {
types[i] = dynamic;