public synchronized <Solution_> boolean addProblemFactChange(ProblemFactChange<Solution_> problemFactChange) {
        boolean added = problemFactChangeQueue.add(problemFactChange);
        notifyAll();
        return added;
    }
public synchronized <Solution_> boolean addProblemFactChange(ProblemFactChange<Solution_> problemFactChange) {
        boolean added = problemFactChangeQueue.add(problemFactChange);
        notifyAll();
        return added;
    }
public synchronized < Solution_ > boolean addProblemFactChange ( ProblemFactChange < Solution_ > problemFactChange ) { boolean added = problemFactChangeQueue . add ( problemFactChange ) ; notifyAll ( ) ; return added ; }
Concurrency note: unblocks {@link #waitForRestartSolverDecision()}.
@param problemFactChange never null
@return as specified by {@link Collection#add}
Concurrency note : unblocks {