code: func SortIssueChan(issues chan *Issue, order []string) chan *Issue {
  	out := make(chan *Issue, 1000000)
  	sorted := &sortedIssues{
  		issues: []*Issue{},
  		order:  order,
  	}
  	go func() {
  		for issue := range issues {
  			sorted.issues = append(sorted.issues, issue)
  		}
  		sort.Sort(sorted)
  		for _, issue := range sorted.issues {
  			out <- issue
  		}
  		close(out)
  	}()
  	return out
  }
docs: // SortIssueChan reads issues from one channel, sorts them, and returns them to another
  // channel