code: public void reset() {
      this.result = UNDEF;
      this.var2index = new TreeMap<>();
      this.index2var = new TreeMap<>();
      switch (this.algorithm) {
        case WBO:
          this.solver = new WBO(this.configuration);
          break;
        case INC_WBO:
          this.solver = new IncWBO(this.configuration);
          break;
        case LINEAR_SU:
          this.solver = new LinearSU(this.configuration);
          break;
        case LINEAR_US:
          this.solver = new LinearUS(this.configuration);
          break;
        case MSU3:
          this.solver = new MSU3(this.configuration);
          break;
        case WMSU3:
          this.solver = new WMSU3(this.configuration);
          break;
        default:
          throw new IllegalArgumentException("Unknown MaxSAT algorithm: " + this.algorithm);
      }
    }
docs: Resets the solver.
  @throws IllegalArgumentException if the algorithm was unknown