'Get the ``DesiredDataset`` corresponding to a given manifestation.
:param Manifestation manifestation: The
:return: The ``DesiredDataset`` corresponding to the given
manifestation.'

def _calculate_desired_for_manifestation(self, manifestation):

    dataset_id = UUID(manifestation.dataset.dataset_id)
    maximum_size = manifestation.dataset.maximum_size
    if (maximum_size is None):
        maximum_size = int(DEFAULT_DATASET_SIZE.bytes)
    common_args = {'dataset_id': dataset_id, 'metadata': manifestation.dataset.metadata}
    if manifestation.dataset.deleted:
        return DesiredDataset(state=DatasetStates.DELETED, **common_args)
    else:
        return DesiredDataset(state=DatasetStates.MOUNTED, maximum_size=maximum_size, mount_point=self._mountpath_for_dataset_id(unicode(dataset_id)), **common_args)
