public void gestionHabitaciones(int numReserva) {

        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.disponibleVip(numReserva)) {
                    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(numReserva);
            }

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