protected void readLines(String fileText) {
        rows.clear();

        try {
            CsvReader csvReader = initializeReader(new StringReader(fileText));
            // case when the first line is the encoding
            if (!displayFirstLine) {
                csvReader.skipLine();
            }

            boolean setHeader = false;
            while (csvReader.readRecord()) {
                String[] rowValues = csvReader.getValues();
                CSVRow csvRow = new CSVRow(rowValues, this);
                if (!rowValues[0].startsWith(String.valueOf(getCommentChar()))) {
                    if (isFirstLineHeader() && !setHeader) {
                        setHeader = true;
                        csvRow.setHeader(true);
                        populateHeaders(rowValues);
                    }
                }
                else {
                    csvRow.setCommentLine(true);
                }
                rows.add(csvRow);

                if (rowValues.length > nbOfColumns) {
                    nbOfColumns = rowValues.length;
                }
            }

            if (!isFirstLineHeader()) {
                populateHeaders(null);
            }

            csvReader.close();
        } catch (Exception e) {
            System.out.println("exception in readLines " + e);
            e.printStackTrace();
        }
    }