def get_sample(self, md5):
        """ Get a sample from the DataStore.
            Args:
                md5: the md5 of the sample
            Returns:
                A dictionary of meta data about the sample which includes
                a ['raw_bytes'] key that contains the raw bytes.
            Raises:
                Workbench.DataNotFound if the sample is not found.
        """
        # First we try a sample, if we can't find one we try getting a sample_set.
        sample = self.data_store.get_sample(md5)
        if not sample:
            return {'sample_set': {'md5_list': self.get_sample_set(md5)}}
        return {'sample': sample}