docs: def get_xsession(self, item):
          """
          Returns the XNAT session and cache dir corresponding to the
          item.
          """
          subj_label, sess_label = self._get_item_labels(item)
          with self:
              xproject = self._login.projects[self.project_id]
              try:
                  xsubject = xproject.subjects[subj_label]
              except KeyError:
                  xsubject = self._login.classes.SubjectData(
                      label=subj_label, parent=xproject)
              try:
                  xsession = xsubject.experiments[sess_label]
              except KeyError:
                  xsession = self._login.classes.MrSessionData(
                      label=sess_label, parent=xsubject)
                  if item.derived:
                      xsession.fields[
                          self.DERIVED_FROM_FIELD] = self._get_item_labels(
                              item, no_from_study=True)[1]
          return xsession