Reflection com objeto dentro de objeto

galera… estou mexendo um pouco com reflection

e cheguei num momento que eu preciso exibir o retorno de um objeto que ta dentro de outro objeto

por exemplo

banco.getEmpresa().getRazaoSocial();

lista.get(i).getClass().getMethods()[gets[j]].invoke(lista.get(i), new Object[]{})+"";

no codigo acima ele me retorna certinho o valor
sendo que o lista.get(i) é a instancia do objeto
e o ().getMethods()[gets[j]].invoke(lista.get(i), new Object[]{})+""; retorna o resultado do metodo

agora precisa entrar dentro desse resultado e pegar o resultado dentro de outro resultado

que nem citei acima
banco.getEmpresa().getRazaoSocial();

to tentando assim oh

System.out.println(lista.get(i).getClass().getMethods()[gets[j]].getReturnType()); //pega o retorno do metodo
lista.get(i).getClass().getMethods()[gets[j]].getReturnType().getMethods()[z].invoke(ob, new Object[]{}));//tento entrar dentro da classe retorno e invocar o metodo.. 

mas não ta dando certo… alguem pode dar uma ajuda!

Dudu, ha algum tempo atras apanhei bastante desse danado do reflection, e na epoca a galera me convenceu que se eu conseguise revoler os enrosco do reflection poderia ter problemas com a integridade do banco; pelo que entendi seu objetivo eh reduzir codigo, vou acompanhar de perto seu topico, tomara que voce tenha mais sorte que eu.

aê pessoal,

não sei se vai ajudar e nem se ainda serve, mas tem esse post aqui que tem a ver com esse problema:

Veja se é isso:

Object empresa = Banco.class.getMethods()[1].invoke(banco, (Object[]) null);
Object razaoSocial = Empresa.class.getMethods()[1].invoke(empresa, (Object[]) null);
System.out.println(razaoSocial);

Substitua os índices de acordo com o que precisa.