Extraer Objeto de un List con clases diferentes

Buen dia con todos, tengo una problema que me esta quitando mucho tiempo y estoy seguro que muchos aqui me lo van a poder solucionar, tengo un List

que me devuelve la lista de objetos pero cada objeto tiene 2 clases, por ejemplo (alumno y apoderado), de cada objeto solo quiero extraer el alumno, hago un for al list y me muestra el objeto con las dos clases diferentes pero no logro extraer la que quiero, pongo la imagen de mi problema, gracias de antemano.
AdjuntoTamaño
extraerObj.png28.46 KB

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de ezamudio

instanceof

Pues debes hacer un cast, pero primero un instanceof para estar seguro. Tu item realmente es un arreglo de objetos, no un objeto.

List<Object> lista=...
for (Object item : lista) {
  if (item instanceof Object[]) {
    Object[] arr = (Object[])item;
    Ley ley = (Ley)arr[0];
    LeyCongresista lc = (LeyCongresista)arr[1];
  } else {
    ???
  }
}

Este es un problema bastante común en Java y es de las cosas que Ceylon resuelve con el uso de tipos unión, tipado fluido, y tuplas. En Ceylon tu código se podría ver así:

{[Ley,LeyCongresista]*} lista = ...
for (item in lista) { //cada item es una tupla
  value ley = item[0]; //El tipo Ley ya está codificado en la tupla
  value congre = item[1];
}

Gracias ezamudio

Muchisimas gracias ezamudio, lei algunas soluciones que tu habias dado y esperaba que me ayudes tambien, caiste del cielo, muchos exitos para ti.
Saludos,
anpuma

Ampliando la respuesta de

Ampliando la respuesta de ezamudio: Si te devuelve los objetos siempre en el mismo orden, puedes simplemente extraerlo con el índice 0.

List<Ley> leyes = new ArrayList<>();
for( Object[] arreglo : leyDao.findConsulta(consulta)) {
      leyes.add( arreglo[0]);
}