Entiendo tu problema, pero yo creo que no tienes ninguno

la cuestión es organizar mejor las cosas. Puedes hacer dos cosas:
1. Copiar el método obtenerObjetos dentro del while de ConsultaObject
2. Simplemente cambiar la forma en la que haces el obtenerObjetos. Cuando entra ahí ya sabes que hay resultados leídos y un next() hecho. Puedes crear un objeto nada más entrar ya y luego hacer el while también dentro de ese método. O usar el do-while como sigue:
Código PHP:
//Este método recibe la cadena sql a ejecutar, con una Connection y Statement declarados por supuesto y que no expongo aquí por cuestiones de código más claro...
public Object[] ConsultaObject(String SQL,Class Clase) {
Object[] Resultado;
Rs = St.executeQuery(SQL);
if (Rs.next()) { //Aquí necesito validar si hay registros.
Resultado = this.ObtenerObjetos(Rs,Clase); //llama a otro método
}
else {
Resultado = null;
}
return Resultado;
}
//Este otro método recibe por párametro el ResulSet creado en el anterior y se encarga de crear el Object[] según los campos del parámetro Class y de la metadata del ResultSet (que no expongo por el motivo que ya expliqué anteriormente)
private Object[] ObtenerObjetos(ResultSet Rs,Class Clase) {
Vector Listado = new Vector();
do{
Object Objeto = Clase.newInstance();
//{
//Código de llenado de Objeto con los datos de la fila
//}
Listado.add(Objeto);
}while(Rs.next());
}
Y ya está

si te da problemas me dices, saludos!!