code: private Assignment createAssignment(final LNGBooleanVector vec, final Collection<Variable> variables) {
          final Assignment model = new Assignment();
          for (int i = 1; i < vec.size(); i++) {
              final Variable var = this.f.variable(this.idx2name.get(i));
              if (vec.get(i)) {
                  if (variables == null || variables.contains(var)) { model.addLiteral(var); }
              } else if (variables == null || variables.contains(var)) { model.addLiteral(var.negate()); }
          }
          return model;
      }
docs: Creates an assignment from a Boolean vector of the solver.
  @param vec       the vector of the solver
  @param variables the variables which should appear in the model or {@code null} if all variables should
  appear
  @return the assignment