docs: def set_ids(self, dxid, project=None):
          '''
          :param dxid: Object ID or a DNAnexus link (a dict with key "$dnanexus_link"); if a project ID is provided in the DNAnexus link, it will be used as *project* unless *project* has been explictly provided
          :type dxid: string or dict
          :param project: Project ID
          :type project: string
  
          Discards the currently stored ID and associates the handler with
          *dxid*. Associates the handler with the copy of the object in
          *project* (if no project is explicitly specified, the default
          data container is used).
  
          '''
          if is_dxlink(dxid):
              dxid, project_from_link = get_dxlink_ids(dxid)
              if project is None:
                  project = project_from_link
  
          if dxid is not None:
              verify_string_dxid(dxid, self._class)
          self._dxid = dxid
  
          if project is None:
              self._proj = dxpy.WORKSPACE_ID
          elif project is not None:
              verify_string_dxid(project, ['project', 'container'])
              self._proj = project