code: @Override
      public void setCurrentSolution(SolutionType solution){
          // synchronize with status updates
          synchronized(getStatusLock()){
              // call super (also verifies status)
              super.setCurrentSolution(solution);
              // pass current solution to every replica (copy!)
              replicas.forEach(r -> r.setCurrentSolution(Solution.checkedCopy(solution)));
          }
      }
docs: Set a custom current solution, of which a copy is set as the current solution in each replica.
  Note that <code>solution</code> can not be <code>null</code> and that this method may only be
  called when the search is idle.
  
  @param solution current solution to be set for each replica
  @throws NullPointerException if <code>solution</code> is <code>null</code>
  @throws SearchException if the search is not idle