def METHOD_NAME(self, package: Package) -> None:
    """
    Adds an assignment of package as a decision
    and increments the decision level.
    """
    # When we make a new decision after backtracking, count an additional
    # attempted solution. If we backtrack multiple times in a row, though, we
    # only want to count one, since we haven't actually started attempting a
    # new solution.
    if self._backtracking:
        self._attempted_solutions += 1
    self._backtracking = False
    self._decisions[package.complete_name] = package
    self._assign(
        Assignment.decision(package, self.decision_level, len(self._assignments))
    )