public class OxygenFiller
{
    public OxygenFiller (Maze theMaze)
    {
        _theMaze = theMaze;
    }

    // trace through the maze until we get back to the start
    
    public int fillWithOxygen ()
    {
        int steps = 0;

        return steps;
    }

    private Maze _theMaze;
}
@@ -58,18 +58,33 @@
  theMaze
+, boolean debug
 )%0A
-
     %7B%0A  
@@ -109,16 +109,40 @@
 heMaze;%0A
+        _debug = debug;%0A
     %7D%0A%0A 
@@ -205,13 +205,9 @@
 art%0A
-    
 %0A
+
     
@@ -302,28 +302,1820 @@
     
-private Maze _theMaze
+/*%0A     * If we run into a wall then try a different direction.%0A     * If we can't move other than backwards then do that.%0A     * Don't move into areas we've already been.%0A     */%0A    %0A    private int fill ()%0A    %7B%0A        int response = DroidStatus.ERROR;%0A%0A        while (!stopSearch())%0A        %7B%0A            boolean needToBackup = false;%0A%0A            /*%0A             * We search N, E, S and then W.%0A             */%0A%0A            response = tryToMove(String.valueOf(DroidMovement.NORTH), DroidMovement.getNextPosition(_currentLocation, DroidMovement.NORTH));%0A%0A            if (tryNextLocation(response))%0A            %7B%0A                response = tryToMove(String.valueOf(DroidMovement.EAST), DroidMovement.getNextPosition(_currentLocation, DroidMovement.EAST));%0A%0A                if (tryNextLocation(response))%0A                %7B%0A                    response = tryToMove(String.valueOf(DroidMovement.SOUTH), DroidMovement.getNextPosition(_currentLocation, DroidMovement.SOUTH));%0A%0A                    if (tryNextLocation(response))%0A                    %7B%0A                        response = tryToMove(String.valueOf(DroidMovement.WEST), DroidMovement.getNextPosition(_currentLocation, DroidMovement.WEST));%0A%0A                        if (tryNextLocation(response))%0A                        %7B%0A                            /*%0A                             * At this point we've exhausted all of the options for moving from%0A                             * the current location. Therefore, we need to backtrack.%0A                             */%0A%0A                            needToBackup = true;%0A                        %7D%0A                    %7D%0A                %7D%0A            %7D%0A%0A            if (needToBackup)%0A                backtrack();%0A        %7D%0A%0A        return response;%0A    %7D%0A%0A    private Maze _theMaze;%0A    private boolean _debug
 ;%0A%7D

Update OxygenFiller.java