Inserir mais de um tipo de Objeto em um Array e exibir em um DataTable

Galera, seria possível criar um ArrayList que não seja de determinado tipo de Objeto ?
A situação é o seguinte:
Estamos fazendo uma rotina de Venda, nessa venda poderá conter os seguintes “Objetos”:

Produto
Serviços
Taxas
Planos

A necessidade é exibir tudo o que foi “vendido” em um DataTable, seria possível ?

Sua orientação a objeto está furada aí.

Pq você não tem um supertipo “Item” por exemplo? Aí você exibiria o valor devido.

Mas segundo esse link o cara fez com um array de objetos sendo que cada indice era uma coluna: http://stackoverflow.com/questions/11484963/primefaces-filling-datatable-with-listobject

Ficaria algo do tipo valor[0], valor[1]