def _check_lease(self, dataset_id, node_id, action):
        """
        Check if a lease for a given dataset is already held by a
        node other than the one given and raise an error if it is.

        :param UUID dataset_id: The dataset to check.
        :param UUID node_uuid: The node that should hold a lease
            on the given dataset.
        :param unicode action: The action we are attempting.
        """
        if dataset_id in self and self[dataset_id].node_id != node_id:
            raise LeaseError(dataset_id, node_id, action)
dataset/ETHPy150Open ClusterHQ/flocker/flocker/control/_model.py/Leases._check_lease/original