private void printChessBoard(int rows,int columns, Cell[] boardCells){
        String errorMsg;
        
        
        for(int currentRow = 0; currentRow < rows; currentRow++){
            for(int currentColumn = 0; currentColumn < columns; currentColumn++){
                
                int position = currentRow * columns + currentColumn;
                char representationChar;
                
                if (position >= boardCells.length){
                    representationChar = '·';
                }
                else{
                    Cell cell = boardCells[position];
                    
                    if (cell == Cell.DEFAULT_EMPTY_CELL){
                        representationChar = ChessConstants.EMPTY_CELL_CHAR;                    
                    }else{
                        if (cell == Cell.DEFAULT_TAKEN_CELL){
                            representationChar= ChessConstants.TAKEN_CELL_CHAR;
                        }else{
                            PieceCell pieceCell = (PieceCell) cell;
                            Piece piece = pieceCell.getPiece();
                            representationChar = ChessTools.getCharFromPiece(piece);
                        }
                    }
                }
                
                System.out.print(representationChar);
                
            }
            
            System.out.println();
        }
        
    }