public void startNextStep(int stepIndex) {
        synchronized (this) {
            if (filterStepIndex >= stepIndex) {
                throw new IllegalStateException("The old filterStepIndex (" + filterStepIndex
                        + ") must be less than the stepIndex (" + stepIndex + ")");
            }
            filterStepIndex = stepIndex;
            MoveResult<Solution_> exceptionResult = innerQueue.stream().filter(MoveResult::hasThrownException)
                    .findFirst().orElse(null);
            if (exceptionResult != null) {
                throw new IllegalStateException("The move thread with moveThreadIndex ("
                        + exceptionResult.getMoveThreadIndex() + ") has thrown an exception."
                        + " Relayed here in the parent thread.",
                        exceptionResult.getThrowable());
            }
            innerQueue.clear();
        }
        nextMoveIndex = 0;
        backlog.clear();
    }
public void startNextStep(int stepIndex) {
        synchronized (this) {
            if (filterStepIndex >= stepIndex) {
                throw new IllegalStateException("The old filterStepIndex (" + filterStepIndex
                        + ") must be less than the stepIndex (" + stepIndex + ")");
            }
            filterStepIndex = stepIndex;
            MoveResult<Solution_> exceptionResult = innerQueue.stream().filter(MoveResult::hasThrownException)
                    .findFirst().orElse(null);
            if (exceptionResult != null) {
                throw new IllegalStateException("The move thread with moveThreadIndex ("
                        + exceptionResult.getMoveThreadIndex() + ") has thrown an exception."
                        + " Relayed here in the parent thread.",
                        exceptionResult.getThrowable());
            }
            innerQueue.clear();
        }
        nextMoveIndex = 0;
        backlog.clear();
    }
public void startNextStep ( int stepIndex ) { synchronized ( this ) { if ( filterStepIndex >= stepIndex ) { throw new IllegalStateException ( "The old filterStepIndex (" + filterStepIndex + ") must be less than the stepIndex (" + stepIndex + ")" ) ; } filterStepIndex = stepIndex ; MoveResult < Solution_ > exceptionResult = innerQueue . stream ( ) . filter ( MoveResult :: hasThrownException ) . findFirst ( ) . orElse ( null ) ; if ( exceptionResult != null ) { throw new IllegalStateException ( "The move thread with moveThreadIndex (" + exceptionResult . getMoveThreadIndex ( ) + ") has thrown an exception." + " Relayed here in the parent thread." , exceptionResult . getThrowable ( ) ) ; } innerQueue . clear ( ) ; } nextMoveIndex = 0 ; backlog . clear ( ) ; }
Not thread-safe. Can only be called from the solver thread.
@param stepIndex at least 0
Not thread - safe . Can only be called from the solver thread .