Removing the cache for parameterized types largely works, although I need to fix some StackOverflowErrors when using recursive bound type variables such as
public class ClassInfoTypeVariableRecursiveBounded<T extends ClassInfoTypeVariableRecursiveBounded<T>>
{
public T genericTypeVariableRecursiveBounded(T param, String s)
{
return null;
}
}