Como fazer um ArrayList que contém ArrayList de Classes Diferentes?

Gostaria de saber como faço um ArrayList que tenha objetos de um ArrayList de várias classes:
Ex:

Cliente cli1 = new Cliente();
//Inserindo vários Clientes
ArrayList colecaoClientes = new ArrayList();
//Insere todos os clientes no ArrayList

Conta conta1 = new Conta();
//Inserindo várias Contas pra cada Cliente
ArrayList colecaoContas = new ArrayList();
//Insere todos os clientes no ArrayList

Faço os mesmos procedimentos acimas para outras Classes e no final quero pegar um ArrayList que dentro dele tenha todos os ArrayList acima.
Como eu poderia fazer?

Se quer uma coleção de coleções, faça assim:

List colecaoDeColecoes = new LinkedList();
colecaoDeColecoes.add(colecaoClientes);
colecaoDeColecoes.add(colecaoContas);

Se quer uma coleção contendo os elementos das outras coleções, faça assim:

List colecaoDeObjetos = new LinkedList();
colecaoDeObjetos.addAll(colecaoClientes);
colecaoDeObjetos.addAll(colecaoContas);

Uma vez precisei fazer um vetor de varias classes distintas, assim:

Object objetos[] = new Object[n];
objetos[0] = primeiraClasse;
ojbetos[1] = segundaClasse;
ojbetos[2] = nClasses;

porem… para fazer a leitura, terá que fazer um cast

primeiraClasse obj = (primeiraClasse) objetos[0];

Desse modo como faço pra pegar os atributos de cada referência de uma classe?Vlw