balance.setScript(getScript());
getAnalyst().setCurrentQuantTask(balance);
balance.setReport(new AnalystReportBridge(getAnalyst()));
final boolean headers = getScript().expectInputHeaders(sourceID);
balance.analyze(sourceFile, headers, inputFormat);
balance.setOutputFormat(outputFormat);
balance.setProduceOutputHeaders(true);
balance.process(targetFile, targetFieldIndex, countPer);
getAnalyst().setCurrentQuantTask(null);
return balance.shouldStop();