code: public Backbone compute(final Collection<Variable> variables, final BackboneType type) {
          final boolean sat = solve(null) == Tristate.TRUE;
          Backbone backbone = null;
          if (sat) {
              final List<Integer> relevantVarIndices = getRelevantVarIndices(variables);
              init(relevantVarIndices, type);
              compute(relevantVarIndices);
              backbone = buildBackbone(variables);
          }
          return backbone;
      }
docs: Computes the backbone of the given variables with respect to the formulas added to the solver.
  @param variables variables to test
  @param type      backbone type
  @return the backbone projected to the relevant variables or {@code null} if the formula on the solver with the restrictions are not satisfiable