public void backTrack() {
		boolean tmpCounter = false, skipCounter = false;
		for(int i = closedNodes.size()-1; i >= 0; i--) {
			skipCounter = false;
			for (Node tmpDead : deadEndList) {
				if((closedNodes.get(i).compareTo(tmpDead))==1){
					skipCounter = true;
					break;
				}
			}
			if(skipCounter==false) {
				this.currentNode = closedNodes.get(i);
				this.checkerObject.nodeCheckAll(closedNodes.get(i), closedNodes);
				if((checkerObject.getUp()==1)||(checkerObject.getLeft()==1)||(checkerObject.getDown()==1)||(checkerObject.getRight()==1)) {
					return;
				}
				deadEndList.add(this.currentNode);
				if(tmpCounter==true) {
					this.view.printMaze(this.currentNode, this.closedNodes);
					this.expandCounter++;
					this.view.printCounter(this.expandCounter);
				}
				tmpCounter = true; // Toggle counter to start adding a step
			}
		}
	}