private void read(String csvFile){ // TODO split this! It's work fine        
        final int ROOT = 0;        
        final int folderIndex = 1; // in String[]
        final int topLevelIndex = 2; // in String[]        
        
        BufferedReader br = null;
        String line = "";
        String cvsSplitBy = ";";
        
        database = DBTools.getInstance();
        String query = "";

        try {            
            br = new BufferedReader(new FileReader(csvFile));                        
            while ((line = br.readLine()) != null){
                String[] tree = line.split(cvsSplitBy);        
                
                // first of all - identify a root folder
                String toc = tree[folderIndex].substring(0, tree[folderIndex].indexOf(" "));
                String name = tree[folderIndex].trim().substring(tree[folderIndex].indexOf(" ") + 1).replaceAll("'", "''"); // Folder name
                int parent_id = ROOT;
                int node_id = findNode(name, parent_id);
                
                // construct a branch
                for (int i = topLevelIndex; i < tree.length - 1; i++){
                    int offset = (i - 2) * 3;
                    toc = tree[i].substring(offset, offset + 2);                    
                    name = tree[i].trim().substring(tree[i].indexOf(" ") + 1).replaceAll("'", "''");
                    parent_id = node_id;
                    node_id = findNode(name, parent_id);
                    if (0 == node_id){ // if a node doesn't exist - create his
                        insertNode(name, toc, " ", parent_id);
                        node_id = findNode(name, parent_id); // maybe exist some other way to find new ID
                    }                    
                }                    
                
                // now find the final node - the file
                parent_id = node_id;
                toc = "file";
                name = tree[tree.length - 1].trim().replaceAll("'", "''");                
                String notes = tree[0].trim().replaceAll("'", "''");                                 
                insertNode(name, toc, notes, parent_id);
            }            
        } catch (FileNotFoundException ex){
            logger(ex.toString());
        } catch (IOException | SQLException ex){
            logger(ex.toString());            
        } finally {
            if (br != null){
                try {
                    br.close();                    
                } catch (IOException ex){
                    logger(ex.toString());
                }
            }
        }
    }