public int ReloadFilteredDocs()
    {
		File folder = new File(Configuration.HeidelCollectionRoot + "R_puliti_divisi");
        //System.out.println("folder: " + folder);
		File[] listOfFiles = folder.listFiles();
        //System.out.println("listOfFiles: " + listOfFiles);
		if (listOfFiles == null)
		{
			System.out.printf("ANNO filt   assente\n");
			return 0;
		} 	

        int countFiles = 0;
        int countRows = 0;
        int countRowsOK = 0;
        double perc = 0;
		for (File file : listOfFiles)
        {
            String path = file.getPath();
            //System.out.println("path: " + path);
			if (file.isFile() && !path.substring(path.length() - 1).equals("~")) {
				
				try {
					String str = readFile(path, Charset.defaultCharset());
                    
                    perc = (double)(countFiles + 1) / (double)listOfFiles.length;
                    String outlog = String.format("\rANNO filt   %d/%d  %.3f", (countFiles + 1), listOfFiles.length, perc);
                    System.out.printf(outlog);
				
					
                    String fileName = path.substring(path.lastIndexOf("/") + 1);
					String docId = fileName.substring(0, fileName.indexOf("_"));
					String dataCreazione = fileName.substring(fileName.indexOf("_") + 1);
					
					//System.out.println("\t" + docId + "\t" + dataCreazione);
					

					if (str.length() > 0)
					{
						Document d = new Document();
						d.Id = docId;
						try
                        {
							d.DataCreazione = new SimpleDateFormat("yyyy-MM-dd").parse(dataCreazione);
						}
						catch(ParseException ex)
						{
						}
						d.TestoTime = "";
						d.HeidelTerms = new ArrayList<HeidelTerm>();
						
                        String[] rows = str.split("\n");
                        for (String row : rows)
                        {
                            countRows++;
                            String[] fields = row.split("\t");
                            //System.out.println("len: " + fields.length);
                            if (fields.length > 2)
                            {
                                countRowsOK++;
                                HeidelTerm ht = new HeidelTerm();
                                ht.Tipo = fields[0];
                                ht.Valore = fields[1];
                                ht.PrecisionR = fields[2];
                                d.HeidelTerms.add(ht);
                            }
                            System.out.printf("%s     Rows %d/%d", outlog,  countRowsOK, countRows);
                        }
                        
						
						documentsForStats.add(d);
						countFiles++;
					}
					
				}
				catch(IOException ex)
				{
                    System.out.println(ex);
				}
				
				
			}
		}
		System.out.println();
		return countFiles;
    }