import java.util.*;

public class VacuumRobot
{
    // instructions

    public static final String LEFT_COMMAND = "L";
    public static final String RIGHT_COMMAND = "R";
    public static final String NEW_LINE = "\n";

    public VacuumRobot (String[] scannedLines, boolean debug)
    {
        _thePath = new Vector<Cell>();
        _debug = debug;

        convertToPath(scannedLines);
    }

    private void convertToPath (String[] lines)
    {
        int lineLength = lines[0].length(); // all lines are the same length

        for (int y = 0; y < lines.length -1; y++)
        {
            for (int x = 0; x < lineLength; x++)
            {
                boolean isScaffold = (lines[y].charAt(x) == Scaffold.SCAFFOLDING_CHAR);
                Cell theCell = new Cell(new Coordinate(x, y), isScaffold, _debug);

                if (_debug)
                    System.out.println(theCell);

                _thePath.add(theCell);
            }
        }
    }

    private Vector<Cell> _thePath;
    private boolean _debug;
}
@@ -321,16 +321,54 @@
 ell%3E();%0A
+        _maxX = 0;%0A        _maxY = 0;%0A
         
@@ -383,16 +383,16 @@
  debug;%0A
-
 %0A       
@@ -560,16 +560,75 @@
 length%0A%0A
+        _maxY = lines.length;%0A        _maxX = lineLength;%0A%0A
         
@@ -762,30 +762,24 @@
     
-boolean isScaffold
+char currChar
  = 
-(
 line
@@ -796,37 +796,120 @@
 t(x)
- == Scaffold.SCAFFOLDING_CHAR
+;%0A                boolean isScaffold = (currChar == CellId.SCAFFOLDING_CHAR) %7C%7C (CellId.isRobotCode(%22%22+currChar)
 );%0A 
@@ -1155,29 +1155,234 @@
 ate 
-Vector%3CCell%3E _thePath
+void printCells ()%0A    %7B%0A        Enumeration%3CCell%3E iter = _thePath.elements();%0A%0A        while (iter.hasMoreElements())%0A        %7B%0A%0A        %7D%0A    %7D%0A%0A    private Vector%3CCell%3E _thePath;%0A    private int _maxX;%0A    private int _maxY
 ;%0A  

Update VacuumRobot.java