private void onOffLoop(float onTime, float offTime, int n) throws RuntimeIOException { if (n > 0) { running.getAndSet(true); for (int i = 0; i < n && running.get(); i++) { onOff(onTime, offTime); } running.getAndSet(false); } else if (n == INFINITE_ITERATIONS) { running.getAndSet(true); while (running.get()) { onOff(onTime, offTime); } } }