code: @Override
      public void open(Solver<Solution_> solver) {
          InnerScoreDirectorFactory<Solution_> scoreDirectorFactory
                  = (InnerScoreDirectorFactory<Solution_>) solver.getScoreDirectorFactory();
          SolutionDescriptor<Solution_> solutionDescriptor = scoreDirectorFactory.getSolutionDescriptor();
          listener.setMutationCounter(new MutationCounter<>(solutionDescriptor));
          solver.addEventListener(listener);
      }
docs: ************************************************************************