@SuppressWarnings("CallToThreadDumpStack")
    public void split_Lines(String nameFile, ArrayList listSubSequen) {

        try {
            ArrayList numColum;
            numColum = new ArrayList();
            ArrayList<ArrayList<FieldCandidate>> rowsFQS = new ArrayList<>();
            ArrayList<ArrayList<FieldCandidate>> rowsCadidates = new ArrayList<>();

            for (int j = 0; j < listSubSequen.size(); j++) {

                ArrayList<FieldCandidate> possibleFields = computeFQS(String.valueOf(listSubSequen.get(j)));
                rowsFQS.add(possibleFields);
            }

            for (int j = 0; j < rowsFQS.size(); j++) {

                ArrayList<FieldCandidate> selectedCandidates = split_line(rowsFQS.get(j), 0, Integer.MAX_VALUE);
                rowsCadidates.add(selectedCandidates);
                numColum.add(selectedCandidates.size());
            }

            int idealNumColumns = computeIdealNumColumns(numColum);
            htmltg = new HTML_TablesGenerator(nameFile);

            for (int j = 0; j < rowsCadidates.size(); j++) {

              //  System.out.println("**********************************************************");
                ArrayList<FieldCandidate> selectedCandidates = rowsCadidates.get(j);

                if (selectedCandidates.size() > idealNumColumns) {

                    System.out.println(">>> Linha recalculada <<<");
                    ArrayList<FieldCandidate> newSelectedCandidates = split_line(rowsFQS.get(j), 0, idealNumColumns);
                    rowsCadidates.set(j, newSelectedCandidates);
                    outputCandidates(newSelectedCandidates);

                } else if (selectedCandidates.size() < idealNumColumns) {

                   // for (int i = 0; i < rowsCadidates.get(j).size(); i++) {

                        AlignShortRecord.getInstance().geraMatrizScors(selectedCandidates, rowsCadidates, idealNumColumns);
                   // }
                   // outputCandidates(selectedCandidates);
                } else {

                 //   outputCandidates(selectedCandidates);
                }
            }

            //htmltg.tableGenerator();
        } catch (Exception error) {
            /**
             * Show the StackTrace error [for debug]
             */
            error.printStackTrace();
//            System.out.println("Exception: " + error);
        }
    }