public static boolean isReservationOK(Reservation res,
			List<Reservation> list) {
		Calendar finHour = calculateFinHour(res.getInitialHour(), res
				.getService().getDuration());

		boolean isOK = true;
		Iterator<Reservation> it = list.iterator();

		Reservation reserve;
		if ((res.getInitialHour().get(Calendar.HOUR_OF_DAY) < 9)
				|| (finHour.get(Calendar.HOUR_OF_DAY) >= 18 && finHour
						.get(Calendar.MINUTE) > 0))
			isOK = false;
		else {

			while (it.hasNext() && isOK) {
				reserve = it.next();
				if ((res.getInitialHour().after(reserve.getInitialHour()) & res
						.getInitialHour().before(
								calculateFinHour(reserve.getInitialHour(),
										reserve.getService().getDuration())))
						|| res.getInitialHour()
								.equals(reserve.getInitialHour())) {
					isOK = false;
				} else {
					if (finHour.after(reserve.getInitialHour())
							& finHour.before(calculateFinHour(reserve
									.getInitialHour(), reserve.getService()
									.getDuration())))
						isOK = false;
					if (finHour.equals(reserve.getInitialHour()))
						isOK = true;
				}
			}
		}
		return isOK;
	}