anchor.diff:      if (dateQuery!=GitHubDateQueryType.none && dateRange == null) {
         throw('With a dateQuery you must provide a non-null dateRange!');
       }
  -
  -    if (dateRange == null) {
  -      dateRange = DateRange(DateRangeType.at, when: DateRangeWhen.onOrBefore, at: DateTime.now());
  -    } 
       var dateString = DateRange.queryToString(dateQuery, dateRange);
  +
       var startSearchFrom = dateRange;
       var endSearchAt = dateRange;
   
  
positive.code:       labelFilters.add('');
      }
  
      int totalCount = 0;
      var result = List<dynamic>();
      var resultsFetched = Set<int>();
      // For each label, do the query.
      for(var labelFilter in labelFilters) {
        var anotherQuery;
        do {
          var moreRemaining = false;
          var returnedThisQuery = 0;
          var after = 'null';
          do {
            var query = _searchIssuesOrPRs
  
negative.code:               result.add(item);
              }
            });
  
            // Pseudo-paginate by date if we're not already, and there's too many responses.
            if (!splitFetches && page.data['search']['issueCount'] >= _maxSearchResponse) {
              splitFetches = true;
            }
  
            // GitHub pagination
            var pageInfo = _PageInfo.fromGraphQL(page.data['search']['pageInfo']);
            fetchAnotherPage = pageInfo.hasNextPage;
            if (fetchAnotherPage) after = '"${pageInfo.endCursor}"';
  
          } while(fetchAnotherPage);
          
          // pseudo-pagination -- if this response returns its maximum
          // try again with a more constrained date range
  
          // If we get the maxmimum number of results and we're already splitting
          // we're missing something.
  
  
          // If we're 
          if (splitFetches) {
            fetchAnotherDay = true;
            switch(dateRange.type) {
              case DateRangeType.at:
                throw('unsupported DateRangeType.at with maximum number of elements');
                break;
              case DateRangeType.range:
                var newEnd = startSearchFrom.end;
                startSearchFrom = DateRange(DateRangeType.range,start: newEnd.subtract(Duration(days:4)), end: newEnd.subtract(Duration(days:2)));
                var newDateRange = DateRange(DateRangeType.range, start: newEnd.subtract(Duration(days:2)).isBefore(endSearchAt.start) ? endSearchAt.start : newEnd.subtract(Duration(days:2)), end: newEnd);
                dateRange = newDateRange;
                dateString = DateRange.queryToString(dateQuery, dateRange);
                if (dateRange.end.isBefore(endSearchAt.start)) fetchAnotherDay = false;
              break;
            }
          }
          print('${splitFetches} ${fetchAnotherDay} ${dateRange}');
        } while(fetchAnotherDay);
      }
  
      print(result.length);
  
      result.sort((a,b) => a.number.compareTo(b.number));
      exit(-1);
      return result;
    }
  
  