/** * begins the next subtask. Should not be called on the first subtask, but should only be called * to start tasks after the first one. If you wish to call a begin subtask method for each task * including the first, use {@link #beginSubtask()} instead. */ public void beginNextSubtask() { currentSubTaskMessage = ""; setComplete(); if (!hasNextSubtask()) { throw new IllegalStateException(currentOperationNum + " " + numOperations); } baseTime += getTaskFraction(currentOperationNum); currentOperationNum++; currentOperationProgress = 0.0; }