public static PlaneDimension loadDimension(File file) {
        try {
            FileReader reader = new FileReader(file);
            BufferedReader br = new BufferedReader(new FileReader(file));
            String line;
            ArrayList<ArrayList<Integer>> seatList = new ArrayList<ArrayList<Integer>>();
            while ((line = br.readLine()) != null) {
                String[] vals = line.split("\\s+");
                seatList.add(new ArrayList<Integer>());
                for (String a : vals) {
                    seatList.get(seatList.size() - 1).add(Integer.parseInt(a));
                }
            }
            reader.close();
            br.close();
            int columns = seatList.size();
            int rows = seatList.get(0).size();
            Cell[][] dim = new Cell[rows][columns];
            for (int i = 0; i < rows; i++) {
                Cell[] row = new Cell[columns];
                for (int j = 0; j < columns; j++) {
                    Cell.CellType ct = Cell.CellType.SEAT;
                    switch (seatList.get(j).get(i)) {
                        case 0:
                            ct = Cell.CellType.NONE;
                            break;
                        case 1:
                            ct = Cell.CellType.SEAT;
                            break;
                        case 2:
                            ct = Cell.CellType.PRIORITY_SEAT;
                            break;
                        case 3:
                            ct = Cell.CellType.AISLE;
                    }
                    row[j] = new Cell(i, j, ct);
                }
                dim[i] = row;
            }
            return new PlaneDimension(dim);
        } catch (IOException ex) {
            Cell[] priorityRow = new Cell[]{new Cell(0, 0, Cell.CellType.NONE),
                new Cell(0, 1, Cell.CellType.PRIORITY_SEAT),
                new Cell(0, 2, Cell.CellType.AISLE),
                new Cell(0, 3, Cell.CellType.PRIORITY_SEAT),
                new Cell(0, 4, Cell.CellType.PRIORITY_SEAT),
                new Cell(0, 5, Cell.CellType.PRIORITY_SEAT),
                new Cell(0, 6, Cell.CellType.PRIORITY_SEAT),
                new Cell(0, 7, Cell.CellType.AISLE),
                new Cell(0, 8, Cell.CellType.PRIORITY_SEAT),
                new Cell(0, 9, Cell.CellType.NONE)};
            Cell[] priorityRow1 = new Cell[]{new Cell(1, 0, Cell.CellType.NONE),
                new Cell(1, 1, Cell.CellType.PRIORITY_SEAT),
                new Cell(1, 2, Cell.CellType.AISLE),
                new Cell(1, 3, Cell.CellType.PRIORITY_SEAT),
                new Cell(1, 4, Cell.CellType.PRIORITY_SEAT),
                new Cell(1, 5, Cell.CellType.PRIORITY_SEAT),
                new Cell(1, 6, Cell.CellType.PRIORITY_SEAT),
                new Cell(1, 7, Cell.CellType.AISLE),
                new Cell(1, 8, Cell.CellType.PRIORITY_SEAT),
                new Cell(1, 9, Cell.CellType.NONE)};
            return new PlaneDimension(new Cell[][]{priorityRow, priorityRow1});
        }
    }