private boolean canAddNewShape() {
        for (int row = START_ROW; row <= END_ROW; row++) {
            for (int col = START_COL; col <= END_COL; col++) {
                if (getCell(row, col).isPopulated()) return false;
            }
        }
        return true;
    }