if (iterationNumber == 0 && initialDelayMSec > 0) {
try {
Thread.sleep(initialDelayMSec, 0);
}
catch (InterruptedException e) {
graphContext.submitSignal(new EPDataFlowSignalFinalMarker() {});
}
}
if (iterationNumber > 0 && periodDelayMSec > 0) {
long nsecDelta = lastSendTime - System.nanoTime();
long sleepTime = periodDelayMSec - nsecDelta / 1000000;
if (sleepTime > 0) {
try {
Thread.sleep(sleepTime);
}
catch (InterruptedException e) {
graphContext.submitSignal(new EPDataFlowSignalFinalMarker() {});
}
}
}
if (iterations > 0 && iterationNumber >= iterations) {
graphContext.submitSignal(new EPDataFlowSignalFinalMarker() {});
}
else {
iterationNumber++;
if (evaluators != null) {
Object[] row = new Object[evaluators.length];