/** * Begins a task and notify this event to the corresponding receiver. * This method can be invoked once for each object. * @param taskSize the total task size * @throws IOException if failed to notify this event * @throws IllegalArgumentException if some parameters were {@code null} */ @Override public synchronized void open(double taskSize) throws IOException { if (taskSize <= 0) { throw new IllegalArgumentException("taskSize must be > 0"); //$NON-NLS-1$ } this.currentTaskSize = taskSize; parent.onJobMonitorOpened(jobId); }