code: @Override
      public void setNeighbourhood(Neighbourhood<? super SolutionType> neighbourhood){
          // synchronize with status updates
          synchronized(getStatusLock()){
              // call super
              super.setNeighbourhood(neighbourhood);
              // set neighbourhood in every replica
              replicas.forEach(r -> r.setNeighbourhood(neighbourhood));
          }
      }
docs: Set the same neighbourhood for each replica. Note that <code>neighbourhood</code> can not
  be <code>null</code> and that this method may only be called when the search is idle.
  
  @param neighbourhood neighbourhood to be set for each replica
  @throws NullPointerException if <code>neighbourhood</code> is <code>null</code>
  @throws SearchException if the search is not idle