DriveManager dm = DriveManager.getInstance();
dm.notifyJobStarted(dm.getSynchronizerListeners());
int[] fields;
DataFilter df;
String filename;
String hash;
Long size;
String message;
FileInfo currentFI;
FileInfo fi;
while (keepOnRunning) {
for (DcModule module : fs.getModules()) {
Collection<Integer> c = new ArrayList<Integer>();
c.add(Integer.valueOf(DcObject._SYS_FILEHASH));
c.add(Integer.valueOf(DcObject._SYS_FILESIZE));
c.add(Integer.valueOf(DcObject._SYS_FILENAME));
fields = module.getMinimalFields(c);
if (!keepOnRunning) break;
df = new DataFilter(module.getIndex());
df.addEntry(new DataFilterEntry(DataFilterEntry._AND,
module.getIndex(),
DcObject._SYS_FILENAME,
Operator.IS_FILLED,
null));
if (precision >= DriveManager._PRECISION_MEDIUM)
df.addEntry(new DataFilterEntry(DataFilterEntry._AND,
module.getIndex(),
DcObject._SYS_FILESIZE,
Operator.IS_FILLED, null));
if (precision == DriveManager._PRECISION_HIGHEST)
df.addEntry(new DataFilterEntry(DataFilterEntry._AND,
module.getIndex(),
DcObject._SYS_FILEHASH,
Operator.IS_FILLED, null));
for (DcObject dco : DataManager.get(df, fields)) {