import java.util.ArrayList; public class MazePath { //A sequence of Positions of orthogonally adjacent accessible // squares from a maze. private ArrayList path; //Constructor public MazePath() { this.path = new ArrayList(); } //Accessor //Returns copies of the Positions on this MazePath (in the same order) public Position[] getPath() { return null; } //Accessor //Return a copy of the last stored Position of a MazePath public Position getLastStep() { return null; } //Mutator //Extend a path by adding another Position to the end of a path //The added Position must not duplicate any already in the path //The added position must be orthogonally adjacent to the last public void extend(Position step) { } //Mutator //Remove and return the last Position on a path public Position backUp() { return null; } //Return a printable image of a path //The coordinates are (1-based) as the user would describe them public String toString() { return ""; } }