public synchronized void processWorksheets() {
        
        for (Iterator<WorkSheet> it = worksheetsToProcess.iterator(); it.hasNext();) {
            WorkSheet workSheet = it.next();
            boolean finished = replaceAllPossibleFailingParts(workSheet);
            if (finished) {
                it.remove();
            }
        }
    }