public void gestionHabitaciones(int reservaEco, int reservaVip) {
        while (true) {
            int parada = (int) ((Math.random() * 10000 + 1000));
            try {
                Thread.sleep(parada);
            } catch (InterruptedException ex) {
                Logger.getLogger(Vip.class.getName()).log(Level.SEVERE, null, ex);
            }
            
            
            synchronized (ha) {
                while (!ha.disponibleEco(reservaEco) || !ha.disponibleVip(reservaVip)) {
                    try {
                        System.out.println(Thread.currentThread().getName() + " Se pone en cola ");
                        ha.wait();
                        System.out.println(Thread.currentThread().getName() + " sale de cola");
                        //Thread.sleep((int) ((Math.random()*10000+1000)));
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }        
                }
                checkIn(reservaVip, reservaEco);
            }

            try {
                Thread.sleep(2000);
            } catch (InterruptedException ex) {
                Logger.getLogger(Economico.class.getName()).log(Level.SEVERE, null, ex);
            }
            synchronized (ha) {
                checkOut(reservaVip, reservaEco);
            }
        }
    }