code: @Override
      public void init(){
          // solution not yet set?
          // NOTE: important to set solution before calling super,
          //       else super sets a random initial solution
          if(getCurrentSolution() == null){
              if(isIncreasing()){
                  // increasing: start with empty solution
                  SubsetSolution initial = getProblem().createEmptySubsetSolution();
                  updateCurrentAndBestSolution(initial);
              } else {
                  // decreasing: start with full set
                  SubsetSolution initial = getProblem().createEmptySubsetSolution();
                  initial.selectAll();
                  updateCurrentAndBestSolution(initial);
              }
          }
          // init super
          super.init();
      }
docs: When the search is initialized, and no custom initial solution has been set,
  an empty or full subset solution is created depending on whether \(L \gt R\)
  or \(R \gt L\), respectively.