class Bundler::PubGrub::PartialSolution

def backtrack(previous_level)

def backtrack(previous_level)
  @backtracking = true
  new_assignments = assignments.select do |assignment|
    assignment.decision_level <= previous_level
  end
  new_decisions = Hash[decisions.first(previous_level)]
  reset!
  @decisions = new_decisions
  new_assignments.each do |assignment|
    add_assignment(assignment)
  end
end