public int colisionesMisDisparosConList(List list) {
        int colisionesMortales = 0;
        Iterator<Disparo> itDisparo = disparos.iterator();
        try{
            while(itDisparo.hasNext()){
                Disparo disparo = itDisparo.next();
                Iterator<Solido> itSolido = list.iterator();            
                while (itSolido.hasNext()) {
                    Solido solido = itSolido.next();
                    //¿Disparo del disparador colisiona con algún sólido de iterator?
                    //y el sólido (y el disparo) no tienen estado 'muerto'                    
                    if (disparo.collision(solido) 
                            && solido.isVivo() && disparo.isVivo()){                                        
                        
                        //el sólido recibe el impacto del disparador
                        //restándole así a su salud la fuerza del disparo
                        int fuerzaDisparo = disparo.getFuerza();
                        int fuerzaSolido = solido.getFuerza();

                        solido.actualizarResistencia(-fuerzaDisparo);                            
                        disparo.actualizarResistencia(-fuerzaSolido);

                        if(solido instanceof Invasor 
                                && !solido.isVivo()){
                            Invasor invasor = (Invasor)solido;
                            bonus(invasor);
                            //incrementamos el número de colisiones mortales
                            colisionesMortales++;
                        }
                        if(!disparo.isVivo())itDisparo.remove();                    
                    }
                }
            }
        }catch(java.util.ConcurrentModificationException ex){
            System.err.println("Disparador.colisionesMisDisparosConList()> java.util.ConcurrentModificationException");
        }
        return colisionesMortales;
    }