Converter objeto na lista genérica

Eu tenho 3 lista de tipos generict.

List<Contact> = new List<Contact>();
List<Address> = new List<Address>();
List<Document> = new List<Document>();

E salve-o em uma variável com o tipo de objeto. Agora, eu preciso fazer o Cast Back to List para realizar um foreach, alguns como este:

List<Contact> = (List<Contact>)obj;

Mas o conteúdo do obj muda sempre, e eu tenho alguns como este:

List<???> = (List<???>)obj;

Eu tenho outra variável segurando obj atual Tipo:

Type t = typeof(obj);

Posso fazer algo assim ??:

List<t> = (List<t>)obj;

Obs: Eu não tenho o tipo atual na lista, mas preciso transmitir, e agora não tenho outro formulário:

List<Contact> = new List<Contact>();

questionAnswers(8)

yourAnswerToTheQuestion