code: def path(self, which=None):
          
          if which == 'subscriptions':
              return '{0}/{1}/{2}'.format(
                  super(System, self).path('base'),
                  self.uuid,  # pylint:disable=no-member
                  which,
              )
          if hasattr(self, 'uuid') and (which is None or which == 'self'):
              return '{0}/{1}'.format(
                  super(System, self).path('base'),
                  self.uuid  # pylint:disable=no-member
              )
          return super(System, self).path(which)
docs: Extend ``nailgun.entity_mixins.Entity.path``.
  
          This method contains a workaround for `Bugzilla #1202917`_.
  
          Most entities are uniquely identified by an ID. ``System`` is a bit
          different: it has both an ID and a UUID, and the UUID is used to
          uniquely identify a ``System``.
  
          Return a path in the format ``katello/api/v2/systems/<uuid>`` if a UUID
          is available and:
  
          * ``which is None``, or
          * ``which == 'this'``.
  
          .. _Bugzilla #1202917:
              https://bugzilla.redhat.com/show_bug.cgi?id=1202917
  
          Finally, return a path in the form
          ``katello/api/v2/systems/<uuid>/subscriptions`` if ``'subscriptions'``
          is passed in.