code: def stale_refs(self):
          
          out_refs = IterableList(RemoteReference._id_attribute_, "%s/" % self.name)
          for line in self.repo.git.remote("prune", "--dry-run", self).splitlines()[2:]:
              # expecting
              # * [would prune] origin/new_branch
              token = " * [would prune] "
              if not line.startswith(token):
                  raise ValueError("Could not parse git-remote prune result: %r" % line)
              ref_name = line.replace(token, "")
              # sometimes, paths start with a full ref name, like refs/tags/foo, see #260
              if ref_name.startswith(Reference._common_path_default + '/'):
                  out_refs.append(SymbolicReference.from_path(self.repo, ref_name))
              else:
                  fqhn = "%s/%s" % (RemoteReference._common_path_default, ref_name)
                  out_refs.append(RemoteReference(self.repo, fqhn))
              # end special case handling
          # END for each line
          return out_refs
docs: :return:
              IterableList RemoteReference objects that do not have a corresponding
              head in the remote reference anymore as they have been deleted on the
              remote side, but are still available locally.
  
              The IterableList is prefixed, hence the 'origin' must be omitted. See
              'refs' property for an example.
  
              To make things more complicated, it can be possible for the list to include
              other kinds of references, for example, tag references, if these are stale
              as well. This is a fix for the issue described here:
              https://github.com/gitpython-developers/GitPython/issues/260