code: def parts(self):
          
          # We cache the tuple to avoid building a new one each time .parts
          # is accessed.  XXX is this necessary?
          try:
              return self._pparts
          except AttributeError:
              self._pparts = tuple(self._parts)
              return self._pparts
docs: An object providing sequence-like access to the
          components in the filesystem path.