/**
  * @param startingFrameIndex
  * @return a display matrix for any unplayed frames
  */
 private List<char[][]> buildBlankFramesMatrix(int startingFrameIndex) {
   List<char[][]> matrix = new ArrayList<char[][]>();
   for (int index = startingFrameIndex; index < BowlingGame.MAX_FRAMES; index++) {
     FrameAsciiDisplay display;
     if (index < BowlingGame.MAX_FRAMES - 1) {
       display = new FrameAsciiDisplay(null); // add regular frame
     } else {
       display = new FinalFrameAsciiDisplay(null); // add final frame
     }
     matrix.add(display.display());
   }
   return matrix;
 }
 /** @return a display matrix for existing frames */
 private List<char[][]> buildExistingFramesMatrix() {
   List<char[][]> matrix = new ArrayList<char[][]>();
   for (Frame frame : game.getFrames()) {
     FrameAsciiDisplay display;
     if (frame instanceof FinalFrame) {
       display = new FinalFrameAsciiDisplay((FinalFrame) frame);
     } else {
       display = new FrameAsciiDisplay(frame);
     }
     matrix.add(display.display());
   }
   return matrix;
 }