code: public FormulaFactoryState save() {
      int[] state = new int[18];
      state[0] = this.posLiterals.size();
      state[1] = this.negLiterals.size();
      state[2] = this.generatedVariables.size();
      state[3] = this.nots.size();
      state[4] = this.implications.size();
      state[5] = this.equivalences.size();
      state[6] = this.ands2.size();
      state[7] = this.ands3.size();
      state[8] = this.ands4.size();
      state[9] = this.andsN.size();
      state[10] = this.ors2.size();
      state[11] = this.ors3.size();
      state[12] = this.ors4.size();
      state[13] = this.orsN.size();
      state[14] = this.pbConstraints.size();
      state[15] = this.ccCounter;
      state[16] = this.pbCounter;
      state[17] = this.cnfCounter;
      final int id = this.nextStateId++;
      validStates.push(id);
      return new FormulaFactoryState(id, state);
    }
docs: Saves the FormulaFactoryState to be loaded later.
  @return the FormulaFactoryState.