code: def entity(self):
          
          # there are no grants for derived types, so this shouldn't happen
          if not issubclass(self.cls, Base) or issubclass(self.cls, DerivedBase):
              raise ValueError("Cannot get entity for non-base-class {}".format(self.cls))
          return self.cls(self._client, self.id)
docs: Returns the object this grant is for.  The objects type depends on the
          type of object this grant is applied to, and the object returned is
          not populated (accessing its attributes will trigger an api request).
  
          :returns: This grant's entity
          :rtype: Linode, NodeBalancer, Domain, StackScript, Volume, or Longview