def METHOD_NAME(self, state: Sequence[complex], wire_order: Wires):
    if isinstance(self.obs, BasisStateProjector):
        # branch specifically to handle the basis state projector observable
        idx = int("".join(str(i) for i in self.obs.parameters[0]), 2)
        probs = qml.probs(wires=self.wires).METHOD_NAME(state=state, wire_order=wire_order)
        return probs[idx]
    eigvals = qml.math.asarray(self.obs.eigvals(), dtype="float64")
    # we use ``self.wires`` instead of ``self.obs`` because the observable was
    # already applied to the state
    prob = qml.probs(wires=self.wires).METHOD_NAME(state=state, wire_order=wire_order)
    # In case of broadcasting, `prob` has two axes and this is a matrix-vector product
    return qml.math.dot(prob, eigvals)