Como criar um objeto de tipo Java em tempo de execução a partir de uma definição de tipo genérica e parâmetros de tipo de tempo de execuçã

ssumindo uma declaração de tipo genérica (Jav

class Foo<T> {
    public T bar;
}

omo posso, em tempo de execução, instanciar um objeto Type que represente Foo parametrizado em um tipo específico T (também conhecido apenas em tempo de execução