anchor.diff:        var count = 0;
         return await pool
             .forEach(list.items, (DirectoryListItems item) async {
  -            print(
  -              ansi.darkGray.wrap(
  -                  'Requesting ${++count} of ${list.items.length} - ${item.id}'),
  -            );
  +            print(ansi.darkGray.wrap(
  +              'Requesting ${++count} of ${list.items.length} - ${item.id}',
  +            ));
  +
               if (ids == null || ids.contains(item.id)) {
                 try {
  -                // NOTE: await is intentional here – ensures the catch clause
  -                // is executed on an async error
  -                return await discovery.apis.getRest(item.name, item.version);
  -              } catch (e) {
  +                final result = await client.get(item.discoveryRestUrl);
  +
  +                if (result.statusCode != 200) {
  +                  throw StateError(
  +                    'Not a 200 – ${result.statusCode}\n${result.body}',
  +                  );
  +                }
  +
  +                return RestDescription.fromJson(
  +                  jsonDecode(result.body) as Map<String, dynamic>,
  +                );
  +              } catch (e, stack) {
                   print(
                     ansi.red.wrap(
  -                    'Failed to retrieve document for '
  -                    '"${item.name}:${item.version}" -> Ignoring!',
  +                    '''
  +Failed to retrieve document for "${item.name}:${item.version}" -> Ignoring!
  +$e
  +$stack
  +''',
                     ),
                   );
  +                print(item.discoveryRestUrl);
  +                print(item.discoveryLink);
                 }
               }
             })
  
positive.code: 
  import 'src/package_configuration.dart';
  
  Future<List<DirectoryListItems>> _listAllApis() {
    final client = http.Client();
    return _discoveryClient(client)
        .apis
        .list()
        .then((DirectoryList list) => list.items)
        .whenComplete(client.close);
  }
  
  Future<List<RestDescription>> downloadDiscoveryDocuments(String outputDir,
          {List<String> ids}) =>
      fetchDiscoveryDocuments(ids: ids).then((List<RestDescription> apis) {
        final directory = Directory(outputDir);
        if (directory.existsSync()) {
  
negative.code:     deleteExisting,
    );
  }
  