try:
            return [x for x in self.charon_session.sample_get_libpreps(projectid, sampleid)["libpreps"] 
                    if restrict_to is None or x["libprepid"] in restrict_to]
        except (KeyError, CharonError) as e:
            sample_libpreps_exception = SampleLookupError(projectid, sampleid, reason=e)