Hola buenas, si usas la version nueva del SDK podes declarar los List y sus implementaciones (o sea los ArrayList tambien) especificando el tipo de datos que van a querer (programacione genérica o algo asin). Entonces podes cambiar
private ArrayList clientes = new ArrayList();
por lo siguiente:
private ArrayList clientes;
public NombreDeLaClase(...)
{
clientes = new ArrayList<cliente>();
}
Nota: te inicialicé la variable clientes en al constructora porque se considera una "buena práctica".
A partir de esto, no hace falta haceer el casting de Clinetes. Salu2