private boolean isAdjacent(int currentIndex, int newIndex, RoomCell.DoorDirection directionOut, RoomCell.DoorDirection directionIn) {

		// If your new cell is a walkway and you're not in a room, return true
		if (cells.get(newIndex).isWalkway() && !cells.get(currentIndex).isRoom())
			return true;
		
		// If the current cell is a room, and not a doorway, then there are no adjacencies
		else if (cells.get(currentIndex).isRoom() && !cells.get(currentIndex).isDoorway())
			return false;
		
		// If you're in a doorway, and the door is facing the direction required to get out as specified by the call, it's adjacent.
		else if (cells.get(currentIndex).isDoorway() && ((RoomCell) cells.get(currentIndex)).getDoorDirection() == directionOut)
			return true;
		
		// If you're on a walkway and trying to get into a door, and it's facing the correct way to go in, it's adjacent
		else if (!cells.get(currentIndex).isDoorway() && ((RoomCell) cells.get(newIndex)).getDoorDirection() == directionIn)
			return true;
		
		// Otherwise, it's not adjacent.
		return false;
			
	}