List<Room> freeRoomList = null;
AbstractDAOFactory daoFactory = Controller.getDAOFactory();
OrderDAO orderDAO = daoFactory.getOrderDAO();
FormDAO formDAO = daoFactory.getFormDAO();
RoomDAO roomDAO = daoFactory.getRoomDAO();
Date arrival = form.getArrival();
Integer nights = form.getNights();
Date departure = this.getDepartureDate(arrival, nights);
Integer adult = form.getAdult();
Integer child = form.getChild();
RoomClassEnum roomClass = form.getRoomClass();
List<Room> roomParamList = null;
roomParamList = roomDAO.list(adult, child, roomClass);
List<Room> notFreeRoomList = new ArrayList<Room>();
for (Room room : roomParamList) {
List<Order> orderWithParamRoomList = null;
orderWithParamRoomList = orderDAO.listWhereRoomAndStatus(room.getId(), OrderStatusEnum.CHECKED);
for (Order orderTmp : orderWithParamRoomList) {
Form formTmp = null;
formTmp = formDAO.find(orderTmp.getFormId());
Date arrivalTmp = formTmp.getArrival();
Integer nightsTmp = formTmp.getNights();
Date departureTmp = new Date();
GregorianCalendar gregorianCalendarTmp = new GregorianCalendar();