//LOG.info("Evaluating node " + node.getPojo().getName());
if (getEnv().getGraph().getEdgeSet(node) != null) { //if this room (the node) has adiacent rooms
for (Object object : getEnv().getGraph().getEdgeSet(node)) {
Edge adiacent = (Edge) object;
//LOG.info(" " + node.getPojo().getName() + " is linked with arch " + adiacent.toString());
if (!visited.contains(adiacent)) {
//LOG.info(" This arch is not visited ");
visited.add(adiacent);
//operazione di enqueue coda
Room x = (Room) adiacent.getX();
Room y = (Room) adiacent.getY();
Gate gate = (Gate) adiacent.getValue();
boolean open = gate.isOpen();
if (open) {
if (x.getPojo().getName().equalsIgnoreCase(node.getPojo().getName())) {
queue.offer(y);