private void solveSingleThreaded(final long currentState, final BitSet walls) { initialMovesEstimate = movesRequired = Node.h(currentState); this.workers = new DFSWorker[1]; final DFSWorker dfsWorker = new DFSWorker(walls); // Add to array so GUI can poll it for the stats in real time. this.workers[0] = dfsWorker; do { if (PuzzleConfiguration.isVerbose()) { System.out.print("\nSearching paths of depth " + movesRequired + "..."); } dfsWorker.setConfig(currentState, "X", movesRequired, 0); dfsWorker.run(); if (!solved) { movesRequired += 2; } } while (running); }