anchor.diff:     
     // Passed a node containing an issue, return the issue
     static Issue fromGraphQL(dynamic node) {
  +    List<Actor> assignees = null;
  +    if (node['assignees']['edges'] != null && node['assignees']['edges'].length != 0) {
  +      assignees = List<Actor>();
  +      for(var node in node['assignees']['edges']) {
  +        assignees.add(Actor.fromGraphQL(node['node']));
  +      }
  +    }
       return Issue(node['title'],
         node['id'],
         node['number'],
         node['state'],
         node['author'] == null ? null : Actor.fromGraphQL(node['author']),
  +      assignees,
         node['body'],
         node['labels'] == null ? null : Labels.fromGraphQL(node['labels']),
         node['url'],
  
positive.code:   get state => _state;
    Actor _author;
    get author => _author;
    String _body;
    get body => _body;
    Labels _labels;
  
negative.code: 
    String summary({bool boldInteresting = true, bool linebreakAfter = false}) {
      var labelsSummary = _labels.summary();
      var markdown = '[${this.number}](${this.url})';
      if (_assignees == null || _assignees.length == 0) markdown = '${markdown} > UNASSIGNED'; else
      {
        markdown = '${markdown} > (';
        _assignees.forEach((assignee) => markdown = '${markdown}${assignee.login}, ');
        markdown = markdown.substring(0, markdown.length-2);
        markdown = '${markdown})';
      }
      markdown = '${markdown} ${this.title} ${labelsSummary}';
      if (boldInteresting && _labels.intersect(_interesting)) markdown = '**' + markdown + '**';
      if (linebreakAfter) markdown = markdown + '\n';
      return markdown;
  